Home Page
Services
Web Design
Multimedia
Animation

Hosting and E-Commerce

Clients and Projects

Contact Us





Additional Work





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)



Hypervoxels 3:
If you are using HV3, the above tutorial will not work past the 'Basic Scene Setup' stage. This technique has recently been adapted to work in HV3, however, because the HV3 plugin does not have a Fractal Noise texture the results will not look the same.

HV3 Update
Scene Files & Examples Zip
Thicker Version Zip (longer render times)
(you will still need the objects from the tutorial)