Making of Fire Trails

By Hammer Chen, Gergana Lilkova

This is a kind of request tutorial. Many people have been asking me how I created a burning car in my previous "Burning Car RnD" video. It was done with fuel-based burning. The fuel starts to burn when the temperature reaches its ignition temperature. Fuel-based fire gives you a realistic burning effect; however, the fuel itself is a fluid, meaning the fuel will flow all over the surface. The overflow of fuels is harder to control and might cause undesired results.

In this tips & tricks article, I am going to show you an alternative method for creating a growing fire, based on an animated mask. The mask is generated with VRayDistanceTex from an animated box. Since we have full control over how far and how fast the mask expands, the fire is more directable than fuel-based. This method is more practical for production. That's why I prefer this technique.

Though I am using fire trails as an example, the same concept can be applied to many other burning effects - like a burning watchtower, a burning paper with the flame growing on a path of a letter, etc.

Overall setup. The fire is emitted from the plane on the ground. To control where the fluid is to be emitted, we place an animated box on top of the plane. The box is then added to the VRayDistanceTex object list. The VRayDistanceTex 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. So this procedural texture can be used in the mask slot of PHXSource. This way, we can direct the growth of fire simply by keyframing the box.

The box (22 X 38 X 568 cm) is animated in its height, with Noise Modifier on top, so the box can be used for the expanding of the fire as if it burns from one side of the plane to the other side. It is not necessary to be a box; it can be any geometry. We use box, in this case,  because we're going to create fire trails, and a box seems to be a natural decision for me.

Be sure to put the Box in the Exclude List in the Scene Interaction rollout of your Simulator. Otherwise, the geometry will disrupt your fluid simulation.

Fire / Smoke Source (PHXScource). For the fluid source, pick up the Plane in the scene. Put a VRayCompTex in the Mask slot. Set the Mask type to Texmap.

In the VRayCompTex, put a VRayDistanceTex in the Source A, and add Box001 in its Object list. This will generate a black-and-white mask for the PHXSource. To further make the mask more organic, we composite it with Source B - a procedural noise. In the end, you will have a growing mask as the image shown on left-bottom.

As for fluid simulation, beginners may find it is not easy to get the appearance of the fire they're after. Above is an image simulated with default dynamics and rendering settings. It is not bad but also it is not the type of fire we want in this case. There are several things you can do when creating small scale fire:

1. Use an appropriate conservation method in the Dynamics. The first thing to do is to change the conservation type. The default settings are Direct Symmetric + Multi-Pass, but they do not work for small scale fire. So we shift the conservation method to Direct Smooth and Backtrace for the Material Transfer. We also increase Steps Per Frame to 3, so we have a less noisy and smoother fire.

2. Gradient and Curve. Second, the curve in the Volumetric Options also plays an important role. Although the two images above look totally different, they are actually from the same simulation. The only difference is the curve and gradient in the Volumetric Settings. The default curve (left) creates an overexposure in the rendering, losing most of the details in the core of the fire; while the curve on the right shows details in the whole image. Notice the control point on the curve affecting the core strength of the fire and the corresponding color gradient at that position. With this curve and a custom-made gradient, we can have a flame without an over-exposure at its core (the highest temperature), as well as a realistic orange-yellow-blue color transitions.

3. Fire Opacity Modulation. The third thing is opacity modulation. This step might look trivial at first glance, but it affects the final look of your fire a lot. By default, the root of the fire appears too solid, and you can alleviate this problem by putting a VRayDsiatnceTex in the Modulate slot.
In the Objects list for the VRayDistanceTex, we add Plane001. This produces a mask modulating fire opacity at its root, and you get a more realistic fire by doing so. If the fire is set on a car hood, then you should put the hood bonnet geometry in the object list instead of a Plane. You get the idea.

4. PHXTurbulence. If you like your fire more energetic, you can add a turbulence force in the scene. With the right amount of Strength and appropriate size, the force will push the fire around, giving it an extra level of realism. Of course, if you like your fire more gentle, you can skip this step.Notice that I have also put a Plain Force act as a wind blowing the fire, but it is optional.

Final Results:

Another example with an extra bitmap (logo) composited in the mask for PHXSource:

Download the fire trails scene
The scene file for fire trails is rather small, and the setup is compact. As this article is not written in a step-by-step fashion, to make your life easier, you can click here to download the file and explore the scene yourself. Volumetric Setting file (*.tpr) file is also included. Happy sim and enjoy!



  1. This comment has been removed by the author.

    1. Please send your scene file to our support team (support(at), and see what might goes wrong.

    2. Hi Stevenls, I have updated the file, please check again and see if it work for you.

  2. hi, thanks for the tutorial!! its exelent! but the setting in the file are OK but the results its a flame of 3 cm ... i think its was becose i use old vray / old phoenix ?? its that posible THX!

    1. Hi Gonzalo, please send me some screenshots of your scene so I can check it for you. hammer.chen(at)

  3. Great tutorial, made my scene much more realistic! Thanks