Afterburn TutorialBy: Jon Carroll Requirements: Particle Storm 2.0 Pro or Jr, HyperVoxels 1.0 or 2.0. LightWave 5.5+ Sample Content location:
One of the most subtle and difficult effects to achieve in 3D software are the heat ripples caused by hot exhaust. Using Particle Storm 2 and NewTek's Hypervoxels plug-in, the effect is actually rather easy to achieve. First, though, you need to study the properties of the heat source you
are trying to reproduce. In this tutorial, we will be duplicating the extremely
hot exhaust coming off of a turbojet or turbofan that is used in most modern
fighter jets. It should be noted that commercial jet transport aircraft
use much larger fans and smaller, cooler cores, which means the ripple
effect would be much less apparent. (See sample images below.) Also note
that 'stealth' aircraft use methods to disperse their exhaust and mix it
with cooler air faster, thus making their ripple effect much subtler and
shorter duration.
You will need to decide on what your emission surface will be for two effects: first the heat ripples, and second, the fire from the jet itself. I decided to use the back of the afterburner as the emission surface and have provided that as a separate object as well. The amount of visible fire from a jet exhaust, and the accompanying heat ripples, vary according to how much thrust the aircraft is producing (the throttle setting). If you wish, you can use a null object in the scene (preferably parented to the jet) that represents the throttle setting, and vary things like the lifetime of the particles and their number by the position of this null. Load the nozzle and afterburner objects into Layout. Add a light source to the scene, name it Engine Glow, parent it to the nozzle, and move it so it is just behind the afterburner object. Parent the afterburner object to the nozzle and save the scene under a unique name Start up Particle Storm 2…. Create two particle groups. In my example scene, these are called 'fire' and 'heatripple'. While you don't need an extraordinarily high number of particles for the scene since Hypervoxels and Steamer are producing the actual effects, you still need enough to make a good effect. I used 1000 particles for each. Set the effect file base to whatever directory you wish the .psm files to be recorded to, and name them appropriately. Leave the Recycler controller that was created by the default scene, but delete the Gravity controller. Create a fountain emitter and name it 'fire'. Set it so that 'fire' is the only Affected Particle Group. Set the source to 'LW Object Faces' and load the burner emitter object as the emitter. Turn on the 'Use Normals' switch to make sure the particles will be headed in the right direction. Since the fire effect from the afterburner needs to be a fast, rippling effect, set the release rate fairly high. Set the 'Initial color' to a deep orange-red. Remember the settings for this red color for later. Since the fire will be moving fairly fast, I set the velocity to a low of 7 m/s and a high of 12 m/s. Leave the minimum release angle at 0 degrees and set the maximum release angle to 25 degrees. Make sure 'Use Strands' is turned OFF. Create two instances of collision detection. Name one 'fire nozzle collision' and the other 'fire burner collision'. Go into each instance of collision detection and make sure that 'fire' is the only particle group turned on for that instance. Do the following for both instances: set Elasticity and Roughness to 20%, and set color duration to 0 s. For the instance labeled 'Fire Nozzle collision', load the jet nozzle object as the collision object and parent it to the same Layout object. In this instance, also set the 'avoid time' of the collision to about 0.3s and set the avoid strength relatively high. This will make the nozzle shape the particle flow, and make the particles avoid the nozzle by approximately the same distance we will later use in width for the Hypervoxel effect. For the instance labeled 'fire burner collision' load the afterburner object as the collision object and parent it to the same object in Layout. Make a copy of the 'fire' fountain emitter and rename it 'ripple'. Change the Affected Particle Group to 'heatripple'. Since the heat ripple effect will be a much slower effect reflecting the turbulence in the superheated exhaust, the release rate can be set to about a third of the rate used for 'fire'. Also, set the velocity for the same rate. I used 10 m/s since the heat ripples will be expected to cover more space. Since you need to keep the particles from scattering too far, set the maximum release angle to 20 degrees. The color setting doesn't matter here since the colors will be set by Hypervoxels. Create a Death Wish controller and name it 'fire death'. Set the Affected Particle Group to 'fire'. Since the 'fire' particles will need to recycle fairly fast, set it to death by 'Age', the Death Value to 0.04, probability to 100%, and fade to 0.01. Make a copy of 'fire death' and rename it 'ripple death'. Change the Affected Particle Group to 'heatripple'. Change the 'death value' to 1 and fade to 0.1. Create a shader controller and call it 'fire shader'. Set it to affect the 'fire' particle group. Make a color gradient that goes from a brught orange at 0 to yellow at 0.1 to a bright whitish orange at 0.2.
Create the effect object for both particle groups and record the PSM files. Add the Particle Storm objects to the scene with PSPlay and wait for the scene to reload in LightWave. Apply the HyperVoxels Particles plug-in to the heat ripple object, and
apply the Steamy Particles plug-in to the fire object. Set the HyperVoxel
Particles plug-in to receive Size and Alpha channel data, and set the Steamy
Particles plug-in to receive Color and Alpha channel data.
HyperVoxels HyperVoxels Doubler Steamer Steamer Doubler Save the scene.
Go into HyperVoxels and activate the heat ripple object. If you set the HyperVoxel Particles plug-in, it should say that the particles have been found. Set the radius to absolute sizing, and set the size to 0.4. This will create a convincing effect, and ye,s the heat ripple particles should always end up no closer than this distance because of the avoidance settings we made in PS2. You may want to set some random size variance for a more 'natural' look. Set the object color to a medium dark grey, this will give the ripples a faintly 'smokey' effect. Set luminosity to 0%. Make diffuse a gradient varied by incidence angle... 100% at 0 and around 60% at 90. Set specularity and reflecitvity to 0. Set transparency between 99 and 100 depending on how oily you want the effect to appear. Also, you can optionally vary the transparency based on incidence angle if you want, with the 'thicker' parts of the stream to be less transparent. If you are going to try this, I suggest a gradient based on incidence angle with about 99% transparency at 0 degrees and about 95% transparency at 90 degrees. The refractive index varies according to which type of engine you are trying to duplicate, but I have found 1.03 to be a good general setting. A good range to work within is 1.02 to 1.05. Under Advanced Settings, raytrace mode to single refraction, and leave the recursion depth at 7. If you want a slightly better-looking effect, you can set it to 'full refraction' instead, but it will take about 1/3rd longer per frame to render. HyperVoxels 2 users should note that this is using 'Surface' as a render selection, not 'Volumetrics'. No hypertexture is applied. Note that HyperVoxels does NOT preview refraction.
| ||||||||||||||||