In this article, I am going to show you some of the critical steps of making this burning motorcycle image with Phoenix FD.
The model was kindly provided by Lien Ying-Te. Though this is a sub-D model, there are a lot of parts and faces in the geometry. The first thing I do is attach all the pieces into one single mesh, and then use ProOptimizer to reduce the polyfaces to roughly 10% of its original polycounts. You get a significant simulation performance increase when you have fewer polycounts as a fire/smoke source.
The next step is to determine which parts of the motorcycle to be burned. I prefer using vertex color as a mask to control where the geometry emits fire/smoke. So I add a VertexPaint modifier to the low-res motorcycle model, and then I paint the faces of the tires and the motor engine white. You can find the same technique explained in details in this official tutorial page.
Now create a Phoenix FD Fire / Smoke source in the scene, and add the motorcycle (motor_collpase) in the emitter nodes list. For the Mask, use Vertex Color texture.
If you simulate the fire with Phoenix FD Simulator, you may get something like the upper left image. Notice that the "root" of the fire looks ugly and unrealistic. How can we get a smooth fire transition like that in the image on the right? The answer is in the Phoenix FD Volumetric Render Settings - fire/smoke modulation.
Check the Modulate option. Put a VRayDistanceTex in both the Fire and the Smoke Opacity Texture slots. It is a V-Ray specific procedural texture that returns a different color based on a point's distance to an object(s) specified in a selection list. Simply put, the part of fire that is closer to the motorcycle geometry will have less opacity. We can use this texture to alleviate the "root" artifact in the fire.
The image above shows the settings for the VRayDistanceTex. Add the motorcycle geometry in the Objects list. The distance can control how far the transition will be. In this case, I use the value of 2.5.
Final animation.
Too complicated? Don't worry. I have made a simplified version of the scene, click Here to download the 3dsMax scene. Hope you like this post. See you next time!
By Hammer Chen
In this article I am going to show you the benefit of using Phoenix FD in tandem with VRayVolumeGrid. I will use a nuclear explosion as an example.
Phoenix FD is capable of simulating complex explosions, such as air strike, small or large scale explosion. For a realistic blast, it always involves many different components. For example, the nuclear explosion you have a major mushroom cloud that flies into the sky; and the ground dust triggered by the mushroom cloud explosion. With multiple fire/smoke sources, Phoenix FD can perform realistic nuclear explosion simulation. In fact, you can find a downloadable nuclear explosion scene on the ChaosGroup official sample page.
With that said, what if you want extra degree of freedoms for tweaking and shaping the extract nuke you want. Simulating each component separately might be a way to go. I'll explain why.
A collection of reference images from the Internet
Let’s take a look at physical reality. A nuclear bomb was placed on the ground, somewhere in an unknown desert. When the bomb blast off, initiate the chain reaction, heat climbing and generate lots of smoke as a by-product the chemical reaction; that major explosion pushes the ground dust which is already there before the blast. We can say the physical properties of those two elements (the ground dust and explosive mushroom) are no doubt different things.
Though with individual Phoenix FD Fire / Smoke sources, you can assign different smoke amount, temperature for each sources, they are shared many other properties in one Simulator – smoke buoyancy, conservation quality..etc.
Two components of a nuclear explosion. (a)Mushroom with a skirt shape (b)Ground dust
Though simulating every component in one single simulator give you more coherent results; It is more difficult to get the exact shape and timing you're looking for. Because the shared properties, the simulation of Mushroom and Ground dust are constrained with each other, every time you want to tweak one feature in the Simulator for one of the components, effect the others; On the other hand, if you simulate them separately, that unshackle us from the constraints. We can get the right looking more easily, or we can squeeze more juices out of current settings which already good.
Simulator settings for "The Mushroom"
(A)Mushroom cloud: High temperature and smoke are emitted from a sphere. The value of gravity and Smoke Buoyancy was tailored for "The Mushroom” in the Simulator, in favor of nurturing the shape we desired. In this case, I set the Gravity to 0.5 and Smoke Buoyancy to -1.0. The simulation was retimed by 30% of its original speed through process of resimulation. I take advantage of Phoenix FD’s “precise tracing” technique for a flicker-free slow motion effect.
Simulator settings for "Ground Dust." Noted several spheres were deliberately scattered on the ground to break symmetry.
(B)The ground dust: I use PFlow as my smoke source. You can check my previous post for the basic setup. I leave gravity and smoke buoyancy as default. But I retimed the sequence by 70% of the original speed through resimulation.
The
Mushroom
Ground
Dust
Cell size
55.51cm
1.25
cm
Source
A sphere
PFlow
Gravity
0.5
1.0
Smoke Buoyancy
-1.0
0.0
Conservation Quality
80
40
Retiming (of original speed)
30%
70%
Resimulation, Amp. Resolution
0.5
0.2
Final grid dimension
338
X 326 X 510
668
X 716 X 102
Mushroom & Ground Dust setting comparisons
Once two *.aur caches have loaded into two vrayvolumegrids. The grid for ground dust was scaling up slightly, so you get triangle composition that matches the reference image.
After we have finished the simulation of Mushroom and Ground Dust, we can import them (*.aur caches) into two vrayvolumegrids and put them in one scene. We can start our “3D composite” in 3dsmax. Since the volumetric data now loaded into vrayvolumegrids, that means we can:
scale them up or down
rotate them to give the best looking
offset the animation
VRayVolumeGrid gives you the option for offsetting the simulation caches.
Besides spacial manipulation, we can offset the sequences to get the best combination temporal-wise.
Above is the final rendering of the nuclear effect, I hope you enjoy this post and happy simulating!
(Noted, you can just use Phoenix simulator directly and skip the loading inside of the VRayVolumeGrid. The Simulator and VRayVolumeGrid are exactly the same except the VRayVolumeGrid has the simulation settings stripped down. However, with VRayVolumeGrid you won't accidentally ruin the simulation by clicking on wrong buttons. Besides, you can give your collague when they don’t have Phoenix FD installed.)