How I used Lightwave’s Hypervoxels in “Bombardment”

For the vapor trails, I created a null and parented it to the shell (which I had already animated at its speed), and under the “Dynamics” tab of object properties added the “Emitter” FX. Under Generator I set a birth rate of 300 particles per second (the exact number depends on how fast your object is moving. You want enough so the trail isn’t a gap-filled dotted line, but not so many it’s just an opaque mess. Whether it’s measured by second or frame doesn’t seem to make a difference in how it behaves beyond the obvious, though I’m not sure how particles per “speed,” “collision,” or “wind” work).

The generator size is fairly self explanatory. Make it big enough to fill whatever the trail is coming out of, but not so big particles are appearing outside it in empty space. Particle limit controls when your emitter stops emitting, and start frame when it starts. Interestingly enough, two particle emitters with the exact same settings will spawn particles in exactly the same way. If you have, say, a multiengine airplane, it’s extremely apparent when it has identical vaportrails coming out of each engine, so you’ll want to have each emitter have a different start time.

Under the Particle pane, the only interesting thing is “Life Time(frame).” This way, you can set when old particles disappear and stop using up your valuable memory. I set it to 300 frames, +/- 0. Everything else should be set to 0, as well.

In Motion, “Velocity” should be 100%. I set “Explosion” to 5 m/s, so the particles would expand as the trail aged. I set “Vibration” to 5 m/s as well, so the trail would have a bit more life and randomness to it, instead of expanding uniformly.

Under the descriptively named Etc tab, I set “Position Blur” to 100, so the particles wouldn’t appear in neat little discrete clusters but smoothly along the trail, and “Parent motion” to .5% so the trail would ever-so-slightly follow the shell it was coming off of. For a rocket exhaust, I’d set this to a negative value. For an explosion, I’d set it to 100%.

And that’s the end of the particle settings.

After enabling hypervoxels, and activating my emitter null as a hypervoxel object, I set the object type to “Sprite” (“Volume” takes too long to render, and “Surface” is just a big blob). For “Dissolve,” I went into the texture control and created a gradient with “Particle Age” as the Input Parameter. I set it so the dissolve would be at 0% at 0 frames old, and 100% at 300 frames old (at which point, the particle emitter would remove the particle from the scene, clearing a space for a new particle to be created. It’s very “circle of life.”) Particle size was set to 7 m, and likewise had a Particle Age gradient so it would get bigger in time, maintaining the integrity of the trail even as the particles drifted apart from each other. One of the key things to remember is that each particle is just a little fuzzy procedural-textured circle, but as long as they overlap, they look like natural, organic clouds. Lift them drift apart, though, and the illusion is shattered.

“Shading” had every single channel described with a particle age gradient. “Color” had it start off the same yellow as the shell object, to represent its glow and flames, but faded to smoke gray within a few frames. “Luminosity” is, first of all, not actually equivalent to “Luminosity” in Lightwave’s surfacing system. It corresponds to the diffusion channel, a concept that gave me a bit of trouble before I figured out what was going on in my test renders. Likewise, the luminosity was set very high for the first few frames, and went downward gradually after that. “Opacity” seems to correspond to “Transparency” and “Density” to “Translucency” in the Surface Panel, but in reverse. So a perfectly clear object would have 100% transparency, but 0% Opacity.

I don’t know why the Hypervoxels shading panel doesn’t adhere to the conventions of the Lightwave surface editor but, then, I didn’t design that damn thing, and it seems to work well enough once you figure it out.

The shading panel also gives you the option to pick two lights that will be used on your hypervoxels, or to check a box to “Use All Lights.” To save render times, each vapor trail had the main sun light and its corresponding shell light selected. “Use All Lights” isn’t too bad for stuff like vapor trail, but a big smoke cloud in the middle of lots of lights like in this shot will kill your render times if you have “Use All Lights” turned on.

Hypertexture should be “Turbulence,” tuned to your standards of fuzzy cloudiness. Feel free to experiment on this. I certainly didn’t.

That’s about all I have to say without going so far as to offer a formal tutorial. Clear as mud, right? Maybe I should put the scene and object up for download, and you can look at it yourself.

~ by David Gian-Cursio on January 3, 2008.