CS22
James Mahoney
Smokin’!
3D Voxel Smoke
Topics
Bifrost Aero
3D Voxel simulations
Emitters
Solvers
Motion Fields
Exercise
Part A - Smoking Disk
Create a new empty scene and give it a good name, set your shelf to “FX”
Add a physical sky and bump up the intensity to 3 or 4
Add a ground plane and give it an aiStandardSurface shader, name it “groundMat”
Make sure the playhead is at frame 1 and that right click on the timeline and make sure that the Playback Speed is set to one of the “Play Every Frame” options.
Create a polygonal (flattened sphere)
Select the sphere and click on Bifrost Fluids>Aero
This sets up a gaseous simulation and sets the selected object as the emitter (not too different than nParticles or bifrost liquids but there’s now a bifrostAero simulator instead of a nucleus or bifrostLiquid
bifrostAero has a child node called aero1 select that and in the outliner find “aeroShape1” select that and in the attributes you can increase the Particle Display>Point Size to about 2 or something so you can see it better
With the timeline at frame zero, select the disk and find it’s transform node in the attribute editor. Right click on the word “transform” and select “Set Key” to make a keyframe on frame 1 at this position.
Click on the timeline at around 13 and move the disk somewhere and set another keyframe using the same method.
Move and set a couple more keyframes at 18 and 24 or thereabouts.
Run the simulation and stop it when you have something nice
Select “aero1” in the Outliner and find its shape node in the attribute editor
You can switch at anytime between Particles and Voxels or both (Voxels looks closer to how it renders
and make a render
Part B - Adding Vector Field
Select the disk and right click on your keyframes and choose “Delete” to clear them
Scale the disk down a bit
Select the disk object and then select the bifrostAero node in the outliner
Add a vector field by using Bifrost Fluids>Add>Motion Field
With the motion field selected increase the Magnitude between about 20 and 40
Uncheck “Direction” and “Noise”
Turn on “Turbulence”
In the Turbulence and Noise” rollout set Turbulence magnitude to about 10 or so.
In the bifrostAeroProperties node you’ll find under Resolution the most important parameter which is “Master Voxel Size” make this small for a higher resolution simulation. (but it takes longer) 0.3 is a good compromise in most cases.
Open the Hypershade and you will see that the simulator automatically generated a new material (like it did with the fluid simulation) right click on this and choose “Graph Network” to see the shader in the workspace
This shader is an aiStandardVolume shader
Select the shader node to see its parameter settings
Use Scatter>Color to set the color of your smoke
Use Voluem>Density to change how dense the smoke is
Make a render and save it.
Part C - Adding a collider
Create a sphere or other polygonal object and reduce its geometry if needed
One idea is to use a sphere and delete the bottom ¼ and invert the surface normals [alternatively make it thick and give it a clear glass material]
To easily invert the normals select the object in object mode and use Mesh Display>Normals>Reverse
Position it directly above your emitter, not too far, to let the smoke enter the mesh
You might want to turn down your turbulence for this a bit
And you may need to bump up your Master Voxel Size back to 0.5
Tricky to get a good render but keep tweaking until you get something interesting and save the render
Part D - Extra fun (optional)
Rework part A but this time add a motion field with some turbulence and see how that looks