Terra Atom: Dials, buttons, switches, and things with weird names

What’s new in the development of my latest Second Life plane, the Terra Atom? Primarily, I’ve been working on the instrumentation. These are the cryptic dials and controls that festoon the control panel inside the cockpit. The Atom will have ALL of them — well, all of the ones that make sense in Second Life.

For those of you who prefer to fly in the third-person view, use the attachable heads-up display; if you prefer the first-person view from the cockpit, the panel will be fully-functional. That’s the plan, anyway.

The heads-up display (HUD) includes several full-functioning instruments.
The heads-up display (HUD) includes several full-functioning instruments.

The instruments in the control panel include the following:

  • Speed in knots
  • Altitude in meters and kilometers (SL uses the Metric system)
  • Artificial horizon showing pitch and roll
  • Compass
  • Fuel indicator
  • Temperature indicator
  • Throttle indicator

Plus there are several buttons and switches: engine, flaps, brakes, camera view, menu, acrobatic smoke, and eject.

This is possibly the most complex HUD I’ve made for Second Life. Interestingly, it produces the lowest script load. Whereas my previous HUDs required a script in each needle and digit, which is a lot, this HUD has only one script. One script operates every control and moving part.

Next, I install the instruments in the cockpit.

 

Textures can wait — the Terra Atom needs to fly

The interior of my plane is textured to show wear and tear. There's still much more work to come.
The interior of my plane is textured to show wear and tear. There’s still much more work to come.

I’m calling it the Terra Atom. That has a kind of mid-century feel that matches my design.

For several days now, I’ve been pretty focused on texturing the new plane I designed for Second Life — that is, creating the surface detail for each and every part in an image editor. Without textures, the plane would look flat and grey, as it did in my previous blog posts.

The quagmire I have to avoid here is getting too concerned with textural detail. It’s possible to keep working on these textures, adding more and more detail, and never finish. Since I’m a little impatient to move this project forward, I’m setting aside the paints and instead focusing on the scripts. Scripts in SL are how you program the detailed behaviour of a vehicle, the user interface, and generally all the functionality that one expects from an airplane.

It’s not a small task, but I have a head-start. With each plane I create, I take my previous flight scripts, menus, visual effects, and more and adapt and improve on them. Every  iteration of the flight script that I started in 2005 and carried forward through a dozen or so planes improves the user experience and adds or refines features.

How long does it take to develop a plane from beginning to end? I can’t give you an exact number, since I haven’t tracked my hours, but it seems like an eternity. This particular eternity started in late November (or maybe early December), and will likely continue until March 2015.

The next couple of weeks, however, will be all about coding and testing. Making changes, saving and compiling, and testing the result immediately. If you see Cubey Terra in SL doing a lot of take-offs and landings in a half-finished plane, now you know why.

New plane update: textures, textures, textures

My new plane seems to be coming along. I spent most of yesterday and today learning how to map textures onto the mesh objects in Blender. This is my first set of test textures.

You can texture all objects in your model in Blender, which saves time.
You can texture all objects in your model in Blender, which saves time.

The textures are rudimentary right now, but now that I’ve mapped them, it’s just a matter of adding detail in an image editor. Before Blender, texturing meant creating many iterations of a texture and uploading each to Second Life to test it out on the prim. Then make edits, re-upload for another test. Rinse and repeat ad nauseum. With Blender, I can see exactly how the texture will look before I upload anything to Second Life.

 

First flight

Today, after fixing some annoying issues with the mesh, I was finally able to upload the whole model into Second Life’s Beta Grid. I slapped on a quick coat of paint and, before it was even dry, I dropped in an older flight script and took it up for a spin.

My new plane (as yet nameless) takes its first flight on the Beta Grid in Second Life.
My new plane (as yet nameless) takes its first flight on the Beta Grid in Second Life.

There’s still a lot of work ahead of me, though. As you can see, the mesh needs some tweaking around the trailing edge of the wings. The cockpit, too, needs finishing, which is a huge job — I plan to have working instruments for flying in the first-person view.

After that is the task of writing a script specifically for this plane and building and scripting a HUD in the same style as the plane. Finally, the plane needs a proper paint job. A few options, maybe, just for variety. It’s a slog.

But even so, the first flight is a landmark in the development of any plane — even a virtual plane.

 

One day of work: spot the differences

Spent most of my day making subtle changes and fixes to my plane. Can you spot all the changes between yesterday and today?

Subtle changes happen in one day of work (click to embiggen).
Subtle changes happen in one day of work (click to embiggen).

Actually, most changes happened on the inside as I made the interior walls and bulkheads around the cockpit. Next step: fill it with controls and indicators.