| Colors | Fractal | Deformation | Turbulence | Column Shape | Animation | Marching | Bounding Box | Proximity | Scattering | Lights | Render Tree Usage
Shader Type: Volume
Output: Color (RGB) value
Simulates a cloud of small particles. Each ray that passes through the volume is broken down into steps, and at each step point the density function is evaluated. The density function returns separate R, G, and B components, which represent the individual densities of particles scattering only the respective color components.
The density function simulates a smoke column. A hollow column is swirled and a rising current of turbulence is added to it. The column springs into existence at Y = 0 and Time = 0. As it moves higher, the turbulence is added to it in progressively increasing amounts.
Tips:
• Stepsize and Recursion: Keep your “max stepsize” as large as possible. Most often it is sufficient to have it about half the feature size of your density function. Unless you get spatial aliasing (strange plywood type effects), don’t lower it. Aliasing can also be combated with the Jitter parameter.
For testing, keep the recursion depth at 0 and increase it only as necessary.
• Density function: The fractal is fairly fast, but it slows down significantly when you request too many iterations. For test purposes, keep them low. And if you want the shader to be uniform, turn the fractal off altogether by setting “max iterations” to 0.
|
Name |
The shader’s name. Enter any name you like, or leave the default. |
|
Color |
Defines the Red, Green, Blue, and Alpha channels that make up the smoke’s color. |
|
Noise Type |
Offers two noise functions to build the fractal: Perlin and Recursive. |
|
Absolute |
Uses the absolute value of the noise for the fractal. This creates interesting discontinuities that produce a turbulence effect. A side effect is that the fractal value is always positive. |
|
Maximum Iterations |
Defines the maximum number of noise iterations. It works with the Minimum level in defining the complexity of the fractal. The more constraining of the two limits is used. |
|
Minimum Level |
Defines the minimum amplitude at which iteration will occur. It controls how often the shader calls the noise function. For a value of 0.1, the noise of amplitude less than 0.1 will not be added to the fractal, and iteration stops there. |
|
Decay |
Defines the amplitude decay of the fractal iterations. It is defined as the ratio of the amplitude as the frequency doubles. Thus, if the Freq. mult (see next parameter) is 2.0, the amplitude of every subsequent iteration is multiplied by this value. |
|
Frequency Multiplier |
Defines the frequency multiplier for subsequent iterations. Frequency is really just the inverse of scale. As doubling frequency is the same as scaling down by a factor of 0.5, every subsequent fractal is scaled by the value 1/Frequency. |
Swirl
|
Amount |
Defines the amount of swirl applied. 0 = no swirl (and a dull-looking smoke). |
|
Change Rate |
Defines the rate at which the swirl pattern changes. 1 = one “change” per second. |
|
Scale |
Defines the size of the swirl patterns. For large smoke columns, increase this value to make the swirl large as well. |
Wind
|
Speed |
Defines the wind’s speed. This parameter controls how much the smoke bends before the wind; it actually controls the curve shape and is independent of Rise Speed. |
|
Altitude |
Defines the maximum height of the smoke effect. |
|
Altitude |
Defines how high the smoke rises. Turbulence starts out with none at Y = 0 and reaches amount at Y = Altitude. This makes the smoke start out smooth but gradually turn more turbulent. |
|
Amount |
Defines the maximum amount of turbulence reached at altitude. |
|
Bias |
Controls the shape of the turbulence amplitude curve. When close to 0, the amplitude stays low until the last few units up to Altitude. 0.5 = a linear increase; a high value (close to 1) = changes to a high value right at the beginning. |
|
Scale |
Defines size of the turbulence pattern. If the smoke is very large, it is necessary to increase this value to keep the same size ratio between the smoke and its turbulence. |
|
Radius |
Defines the radius of the basic smoke cylinder that is subsequently swirled and mutated using the Turbulence parameters. |
|
Thickness |
Defines the thickness (as a fraction of the radius) of the column walls. |
|
Start Length |
Defines the distance the smoke takes to appear within the smoke column. At time 0, the smoke starts at Y = 0. When the smoke has risen to the Start Length value, it is completely revealed. For a Start Length of 2 and a Rise Speed time of 1 unit per second, it takes 2 seconds for the smoke to be completely visible. |
|
Amplitude |
Gives some variation to the smoke-column thickness around its perimeter. If left at 0, the column appears entirely smooth. This parameter defines the radius of the basic smoke cylinder that is subsequently swirled and mutated using the Turbulence parameters. |
|
End |
The highest Y level that the smoke reaches. It is safe to set the Y max value of the ray marcher’s Bounding Box to this value. The smoke gradually fades out from Altitude to End. |
|
Bias |
Controls the shape of the fade-out curve. |
|
Rise Speed |
Defines the speed at which the turbulence is moved upward. |
|
Time Offset |
Offsets the shader’s timing. The default ensures that the smoke column is visible at time = 0 (the first timeline frame). Setting it to 0 makes the smoke emerge at that point (see the Start Length parameter). |
|
Step Size |
Defines the maximum length of the steps taken during ray marching. This parameter does not have to be fixed, as each point may be randomly jittered. Furthermore, according to a certain contrast limit, each step may be subdivided up to a certain point. This makes the ray marcher able to focus on features such as edges or umbra boundaries. |
|
Maximum Subdivision |
Defines the maximum number of recursions made during ray marching. |
|
Maximum Difference |
Defines the difference in density or density intensity at which a recursive subdivision of the marching step is made. |
|
Jitter |
Defines the amount that each sample point is randomly permeated from its calculated position. At 0 there is no jitter; at 1, the point is jittered so much it may touch its neighbor. This can be used to hide spatial aliasing artifact and replace them with noise. |
|
Always Honor |
If the shader is being applied to an object (volume shader), this parameter selects whether to honor the box or not. For a global shader, it is always honored. If infinite rays are encountered, the far side of the box is used to truncate. |
|
Minimum, Maximum X |
Defines the X parameters of the boundary box. |
|
Minimum, Maximum Y |
Defines the Y parameters of the boundary box. |
|
Minimum, Maximum Z |
Defines the Z parameters of the boundary box. |
|
On |
Activates proximity calculations. |
|
Cone Angle |
For correct proximity calculations, enter the angle of the spotlight you are modifying. For a point light shining in all directions, enter 360. |
|
Intensity Scale |
Controls the overall intensity of the lights. |
|
Ambience |
Simulates an ambient light source illuminating the cloud. |
|
Absorption |
Controls how much of the light that falls on the particles is absorbed. For air or steam, keep this at 0; for dark smoke or soot, make it higher (about 1). |
|
Assymetry |
Controls the scattering behavior of the shader. At 0, the same amount of light is scattered back as well as forward; this is the case with small particles, such as air. Higher values make the scattering ever more forward biased, as with larger particles such as smoke or dust. |
|
Uniform |
Makes the light scattering uniform in all directions, much as with the ambient light that follows. However, light lookup is still performed, and self shadowing may occur (see Shadowed lights). If you select Scattering Lights (uniform_scatt), the ray marcher uses them to determine light scattering at that point. Optical depth is accumulated and used to calculate the occlusion of both scattered light and transmitted light. |
|
Density Scale |
Scales the density of the cloud. It is an overall scaling factor: if the cloud/hypertexture appears too dense, you can lower this value instead of having to meddle with the density function on the right part of the dialog box. |
|
Volumic Density |
When the volume shader is applied to an object, this parameter makes the density automatically change according to the scaling of the object. E.g.: If you scale the object down ten times in the XYZ dimensions, the density of the texture will increase a thousandfold. |
|
Transparent |
Makes the texture invisible; i.e., it doesn’t block light at all, and the shader becomes a glowing transparent gas, much like neon. |
If you have scattered lights, it slows down the rendering somewhat because each light lookup can be quite time consuming, particularly if you’ve selected an area light. If you select the same light as both scatter light and shadow light, each light call will result in a ray marching from the current position to the light -- so rendering time may be almost squared! Do this only if you have either a large step size or you have a very dense material (hypertexture).
![]()
|
The self shadow is calculated for all the distance to the light, even if the light is outside the bounding volume. Therefore, volumetric lights should be within the bounding volume. |
Lights
|
Scatter Lights |
Pick Item: Lets you define a scatter light in your scene that will be used to compute the fast lens effect. Remove Selected: Lets you remove a selected light from the light list. Once removed, the light will no longer influence the effect created by the shader. |
|
Pick Item: Lets you define a shadow light in your scene that will be used to compute the fast lens effect. Remove Selected: Lets you remove a selected light from the light list. Once removed, the light will no longer influence the effect created by the shader. |
To apply this volume effect to an object (as opposed to a scene) connect this shader to the Volume input of the Material node. Volume shaders cannot be expanded or built upon in the render tree.
Autodesk Softimage v.7.5