
A Volumetric Space Explosion
with
Hypervoxels 2
by D.M.S.
Download
example animation.
Notice: If you are
using
Hypervoxels 3, click here.
Foreward
     This tutorial is the compilation of my
efforts so far to come up with a simple, effective, render-friendly,
volumetric explosion that looks good on both computer and television
screens. I am very satisfied with it so far. In all, the entire
scene will consist of just one object, its morph target, a null,
one light, and some Hypervoxel 2 volumetrics.
     (Although some plugin details will be explained
here, some will need to be referred to in the Hypervoxel 2 manual.)
     If you use the information
in this tutorial beyond the basic setup, I would appreciate it if
you would send me some renderings (AVIs, MPEGs, Quicktimes, or stills).
I am very interested in how these techniques are used.
     To download any file
along the way, right-click the link then choose Save As or Save
Target As. In addition, all files are available for download at
the bottom of this page.
First, a couple of comments on Hypervoxels.
     1. From my experience, Hypervoxels
(referred to as HV2's in this tutorial) can be your best friend,
or your worst enemy. Just lately it's become a little friendlier
for me, but it's taken many, many hours of tweaking, frustration,
and processing time to get just this far. So, don't be discouraged
at all if HV2's don't seem to work correctly for you right away.
     2. Even simple HV2 setups can take a while
to render (1-3 minutes per frame at low resolution), so this tutorial
might take some time to render and test on slower computers (below
PII400).
     3. Unfortunately, HV2 is not multi-threaded,
so computers with multiple processors will not benefit from multi-threading.
I'd suggest leaving the render panel's "Threads" setting
to 1 for this tutorial.

  
Part I - Modeling
Modeling in this case is extremely simple.
    
In Modeler, run the "Randpoints" plugin (Tools>Custom).
Create 50 points in a Constant Sphere. The points created will
be withing a .5m radius. Save this object as "hv_points_morph.lwo."
     Copy the points to a new layer, and scale
them up about 1500%. Now, move the points forward (+Z) so that
all of the points are on the +Z side. Move the points around a
little with the Magnet tool (Modify>Magnet) so that you end
up with somewhat of a dome-shaped cloud of points with the tip
farthest along the +Z axis at around 25m. Save this object
as "hv_points_target.lwo."

Example 1 - Object Points

  
Part II - Basic Scene Setup
The scene itself is also very simple.
     In an empty Layout scene, load
both of the 'hv_points' objects that you just created. Since neither
of the objects have any polygons, you will not see them in the Layout
view unless "Points Only" viewing mode is selected in
the "Scene Editor" panel.
     Select the "hv_points_morph" and
choose the "hv_points_target" as its morph target (Objects
panel). The first thing to do is to set up a morph envelope so that
the small group of points expands rapidly to become the shape of
the large group of points.
     Set up a morph envelope with the following
values:
| Frame |
0 |
1 |
8 |
15 |
60 |
| Value |
0% |
0% (linear) |
55% |
79% |
160% |
Download Envelope
     Add a null object and
rename it (hit Save Object) to "hv_points_texture." This
object will be used as the animated parent for the HV fractal texture,
giving it a billowing effect. With the null selected, open the Graph
Editor and enter the following values for the Z Position:
| Frame |
0 |
1 |
12 |
60 |
| Value |
0m |
0m (linear) |
.64m |
1.5m |
Download
Motion
     Next, select the only
light in the scene and reset its position to X:0, Y:0, Z:0.
Parent it to the "hv_points_morph" object. In the Lights
panel, change the light to a point light (R:243, G:187, B:82) and
make it dedicated (no diffuse and no specular) with shadows off.
Rename the light to "hv_points" and give it the following
intensity envelope:
| Frame |
0 |
16 |
49 |
| Value |
0% |
50% (linear) |
0% |
Download
Envelope
     Check the Lens Flare box for
the light, and hit the "Lens Flare Options" button. Uncheck
the Central Ring and Red Outer Glow. Turn on Fade Behind Objects,
and change the Dissolve to 20%. Keep the default random streaks.
Enter the following values for the flare's intensity:
| Frame |
0 |
1 |
2 |
7 |
| Value |
0% |
0% (linear) |
155% |
0% |
Download
Envelope
     That's
it for the basic setup, so save the scene. All that remains are
the Hypervoxel settings.

  
Part III - Hypervoxel Settings
Here's where the fun begins.
    
Before continuing, you need to set up the scene so that it can be
viewed for testing purposes. Rotate the "hv_points_morph.lwo"
to H:220, P:25, B:0. Move the Camera to X:5.5m, Y:10m, Z:-75m, and
rotate it to H:-8, P:-6, B:0.
     Select the "hv_points_morph.lwo"
and, in the Objects panel, add the "LW_Hypervoxel_Particles"
displacement map plugin.
Open the Effects>Image Processing panel and add LW_Hypervoxels
in the first Pixel Filter Plug-ins slot. In the second slot, add
the LW_Hypervoxels_Doubler plugin, and hit the Options button next
to it. With Adaptive Sampling checked on, enter a sampling
threshold of 32 and close the options.
     Hit Options next to LW_Hypervoxel_Particles
to bring up the main HV2 interface. The first settings to change
are the global HV2 render settings [see example 2]. Check Enable
Hypervoxels, Render 1/2 Res, and No Antialiasing.

Example 2 - HV2 Global Settings
     On the right of the interface [see example
3], make sure that the "hv_points_morph.lwo" object is
selected, and hit Activate. (If the Activate button does not fade,
hit it a second time.) First, create a dissolve envelope for the HV2's for this object (Hit the "E"
next to "Dissolve.") Enter these values:
| Frame |
0 |
26 |
38 |
59 |
| Value |
0% |
0% (linear) |
25 |
100% |
Download
Envelope

Example 3 - HV2 Size Settings
     Next, under the Size Parameters tab [see example
3], set the Sizing Mode to "Absolute." For the Size
Variation, use 0%, and for the Size
Variation Scale, use a value of 0. Set the Blending Mode to
"none." This is a very important step. With a Blending
Mode of Metaballs, the object would render more as a liquid-like
blob instead of a billowy gas.
     The particles need to become larger as they
move farther away from the source, so create a gradient for the size by hitting the "P" next to Particle Size
and enter the following parameters:
          Input Parameter: Distance
to Object
          Reference Object: hv_points_morph.lwo
          Start: 0
          End: 30
| Key Value |
.01 |
10 |
25 |
35 |
| Key Param. |
0 |
5 |
16 |
30 |
Download
Gradient

Example 4 - HV2 Size Gradient
     Now for the Rendering Options [see example
5]. Set the Render Selection to "Volumetrics," and Fractal
Noise to "Fractal" with 4 Frequencies and Local coordinates.
For the Parent, choose the "hv_points_texture." For Scale
and Amplitude enter 100%. Gain should remain at 0, and Bias should
be set to -5. This will slightly change how the gas cloud's shape
is rendered, as seen in the small preview window on the right.

Example 5 - Basic Volumetrics
     To make the HV2's change color as they move
from their source, create a Gradient [see example 6] for the color
with the following parameters:
          Input Parameter: Distance
to Object
          Reference Object: hv_points_morph.lwo
          Start: 0
          End: 45
| Key Value
R
G
B
|
255
244
200 |
255
163
59 |
165
75
26 |
112
73
28 |
| Key Param. |
0 |
20 |
32 |
45 |
Download
Gradient

Example 6 - HV2 Color Gradient
     To make the HV2's change luminosity according
to their density, create a Gradient [see example 7] for the luminosity
with the following parameters:
         Input Parameter: Local
Density
         Gain: -55
         Bias: -19
         Start: 0
         End: 1
| Key Value |
16% |
100% |
| Key Param. |
0 |
.5 |
Download
Gradient

Example 7 - HV2 Luminosity Gradient
     To make the HV2's change opacity as they move, create a Gradient [see example 8] for the opacity
with the following parameters:
          Input Parameter: Distance
to Object
          Reference Object: hv_points_morph.lwo
          Start: 0
          End: 40
| Key Value |
20% |
47% |
100% |
200% |
| Key Param. |
0 |
16 |
30 |
40 |
Download
Gradient

Example 8 - HV2 Opacity Gradient
     To make the HV2's change density as they move, create a Gradient [see example 9] for the density
with the following parameters:
          Input Parameter: Distance
to Object
          Reference Object: hv_points_morph.lwo
          Start: 0
          End: 40
| Key Value |
100% |
100% |
70% |
| Key Param. |
0 |
20 |
40 |
Download
Gradient

Example 9 - HV2 Density Gradient
     At last, it's time for the final group of settings.
Under the HV2 Rendering Options, select the Volumetric - Advanced
tab. [see example 10] Set the Render Quality to "Medium," and make sure the illumination method
is "Beer." Thickness should be set to .015, and Jittering left at 0. The Ambient
Color needs to be a bright orange- R:232, G:195, B:100, at about
6% intensity. Make sure Light 1 has the "hv_points" light
selected, and uncheck the Volumetric Shadows box.

Example 10 - HV2 Advanced Volumetrics
     That's all of the settings we need to input,
so close the HV2 interface. Be sure to save your scene at this point.

  
Part IV - Rendering
     In the Camera panel, select
"Super Low Res" (160x120) for the Basic Resolution. This
could still easily take 30 minutes to render. If you have an hour
or two to spare, "Low Resolution" (320x240) would be better.
     In the Render panel, use the default Start
and End frames of 1 through 60, check "Automatic Frame Advance,"
and Save Animation as an AVI.
     Save the scene one last time, then hit Begin
Rendering. Choose a compression method if necessary in the Video
Compression popup. I usually prefer uncompressed video in HV2 tests,
since compression tends to degrade the subtle details with banding.

  
Part
V - Tips & Suggestions
     Now that the explosion and
all of the settings are in place, this scene can be loaded into
another scene fairly easily to be used as many times as needed.
This might seem complicated, but it's not once you get used to
it. The steps are as follows:
     1. Open the stock explosion scene.
     2. In the HV2 interface, save the dissolve
envelope, then remove it.
Note: An HV2 bug seems to instantly crash Lightwave
if attempting to save any envelopes in an HV2 settings file.
     3. Hit Save Object Settings to save the HV2
information to a separate file.
     4. In the Scene Editor, shift the keys as
needed. For example, if you need an explosion to happen at frame
100, shift the keys about 100 frames.
     5. Save the scene under a different filename
(example: hv_explosion_100.lws).
     6. In your primary scene, hit Load From Scene
in the Objects panel and load the scene you just saved. Be sure
to also load the light.
     7. If you haven't done so already, add the
LW_Hypervoxels pixel filter in the Effects panel.
     8. Activate the hv_points_morph.lwo object
that you just loaded, then load the HV2 settings file you saved
a moment ago.
     9. Load in the dissolve envelope.
Note: The Shift All Keys feature in the Scene Editor
do not affect HV2 envelopes, so you will need to shift this manually
or in another envelope editor.
     10. This is important. Check each of the
object's gradients, texture parents, and lights to make sure they
are referring to the correct nulls and lights. Most likely, these
settings were changed when loaded and need to be redone.
     11. Parent and move the "hv_points_morph'lwo"
as needed depending on the object in your scene.
     Remember, the HV2 plugin is not multithreaded,
so using more than one thread in the Render panel will not affect
the HV rendering speed. In many cases, it's better to load the
scene into two different Layout windows, and have each session
render half of the frames.
     Keep in mind that Lightwave will probably
crash instantly if you try to save HV2 settings with an envelope.

  
Files for Download:
(Right-click then choose
Save As or Save Target As)
Renderings
Example Animation MPEG
3-Explosion Example
MPEG
Guest's LW[6] HV3 MPEG
Guest's LW[5.6] HV2 MPEG
Link
to your rendering
Objects
hv_points_morph.lwo
hv_points_target.lwo
Hypervoxel settings
Envelopes Zip file
Gradients Zip file
Motions Zip file
All Lightwave files Zip
Other Hypervoxel Sites:
Virtual
Pyro by Tajino (down)
Snakearts
(down)
|