Industry solutions

Explore our ecosystem


Media & Entertainment

Industry solutions

Explore our ecosystem


Product & E-Commerce

Industry solutions

Explore our ecosystem


Education & CommunityHelp

Chaos Help Center

What are you looking for?


The complete guide to Chaos Phoenix, Part 2 — Under the hood

In the second part of our guide to Phoenix, expert Cory Holm dives deep into the features that help you control the way you can shade and shape your simulations.

It’s time to get under the hood of Chaos Phoenix. In part one of this series, we covered the fundamentals of Phoenix and how it works. Now, we’re going to take a look at how you can use its features and settings to create simulations that look and act just like the real thing, whether it’s Malbec splashing into a wine glass or a ferocious breaking wave. We’ll also show you the parameters you can use to direct and shape your simulations, giving you ultimate control.


Grid Channels & Ranges

When Phoenix simulates, Grid Channels are written to each cache file that represent the properties of the simulated fluid at that frame. Technically, Grid channels are the values contained in each of the voxels in the simulation grid, such as Smoke, Temperature, Liquid, Velocity, RGB color, and so forth. 

Depending on what you’re trying to simulate, you can choose which Grid Channels to export to the cache files based on your needs. For example, to simulate multiple colors of smoke, you would want to export the RGB Grid Channel so that each of your smoke Sources emitting different colors of smoke would have their RGB color information saved in that sim’s caches.

Phoenix's Grid Channels also have different ranges depending on the type of Grid Channel. When you use them in rendering for shading, or during simulation for masking, it is good to be aware of the minimum and maximum values a Grid Channel can have.

For example, Phoenix Smoke usually goes from 0-1. Meanwhile, the Temperature channel is in Kelvins, and typically goes from 300K-2000K, or up to a few thousand Kelvin. 

300K means the smoke will neither rise nor fall. Higher values than 300K will rise, meanwhile if you wish to simulate cold smoke that flows downward, you can lower the Temperature below 300, until you reach 0. 

You can find more information about the other Grid Channel Ranges in our Docs.


Particles, Particle Channels & Ranges

Phoenix can also simulate particle systems. For Fire/Smoke simulations, Phoenix can simulate Drag particles. For Liquid simulations, Phoenix can simulate Liquid particles, as well as secondary particles such as Foam, Splash, Mist, and Wetmap particles. 

These secondary particles exist so that you can achieve a variety of different liquid scenarios. Each particle type has its own life cycle, with rules for when and how they are born and die off. In addition, you can control which particles you need to simulate, given the scenario. For example, a beach scene may use every secondary particle type to achieve its effect, while simulating wine pouring into a glass might only use Liquid particles, without any secondary particles at all.

Different particle types can be used to create a variety of different scenarios, from the Splash and Foam needed for a large wave, to the wake from a ship, or Mist coming from a waterfall and so forth. By setting conditions in the Simulator’s settings, Foam, Splash, and Mist particles can be born automatically, based on the fluid’s properties and behavior during the simulation. 

You can also emit particles using a Source, such as the Fire Source for creating Drag particles, or create Liquid, Foam, Splash, and Mist particles using the Liquid Source, as well as using a script.

Note that unlike shading Liquid particles, you must use the Phoenix Particle Shader to render any type of secondary particles. They cannot be shaded using a standard render material.

Just like Grid Channels, Particle systems also contain different Particle Channels or fluid properties for each particle. There are different types of Particle Channels, such as Position, Size, Age, ID, Velocity, and so forth. When simulating with Phoenix, you can choose which channels to write to the cache files, depending on your needs.

Once more, Phoenix's Particle Channels also have different value ranges depending on the type of Particle Channel. It can be helpful to know the minimal and maximal ranges that the Particle Channel types have. 

You can find more information about Particle Channel Ranges in our Docs.


Particle Shader

As mentioned briefly earlier, Phoenix also has a Particle Shader that is used to shade secondary particles such as Splash and Foam. It has been optimized to render very fast in comparison to a traditional material shader, while still being capable of achieving a large variety of effects. 

It offers multiple shader modes, any of which can be used to shade different particle types. For example, it can draw particles as points, a variety of different bubbles, or even voxelize particles into a grid using the Fog mode, enabling you to render particles with the volumetric shader. 

There are also three different bubble-style modes available that are intended for different scenarios: Bubbles, Cellular, and Splash. For example, you can use the Cellular mode to render polyhedron-like cells that look very similar to real foam, so that you can shade foam that is convincing when close-up to the camera. 


Note that these shader modes have been designed with specific particle types in mind. For example, the Splashes shader mode is typically used to shade Splash particles. However, Phoenix also offers the flexibility to use any mode to shade any secondary particle type, so that you can achieve a wide variety of effects. 

Since the Particle Shader is a separate node, you can use multiple Particle Shaders with different settings, in order to shade multiple particle systems within the same simulation. The Particle Shader can also shade non-Phoenix particle systems, in order to render particles from 3ds Max’s Particle Flow, tyFlow, Thinking Particles, and nParticles in Maya. 


Forces & Textures

Chaos Phoenix also contains powerful Phoenix Textures and Phoenix Forces, which can be used to enhance and further manipulate your simulations to create even more advanced scenarios.


Forces can be used to change a simulation’s behavior -- for example, to make smoke appear more turbulent, or flow along a predefined path. Phoenix has a number of forces that can affect simulations, as well as supports the use of native 3ds Max and Maya forces, including important ones such as Vortex, Wind and Drag forces.

There are five Phoenix forces available that can be used to create more complex simulator behaviors. These are the Plain Force, Body Force, Follow Path, Wave Force, and Turbulence.

The Plain Force pushes the fluid in a specified direction, simulating wind or gravity. Meanwhile, the Body Force creates a force to pull the fluid toward or away from a geometry object.

Follow Path is another force that pushes a fluid, but this time along a spline. This force can be used to make smoke or liquid particles follow the path of a spline, for example, to make fluids move on a swirling invisible spline around some geometry. 

The Wave Force meanwhile produces real simulated waves inside a liquid simulator, and is primarily used for ocean simulations. This is an alternative to the render-time displacement you can achieve with the Phoenix Ocean Texture. There is also a Massive Wave Force toggle, which allows for even more control over the waves produced by the Wave Force, and is especially helpful for creating large waves.

Finally, the Turbulence force is fairly self-explanatory, and adds movement similar to fractal noise. For example, it can help to break up large and smooth clumps of smoke into more chaotic, frenzied and randomized looking results.



Meanwhile, Phoenix provides several textures for use in simulations and rendering, which can be helpful for creating more advanced simulation effects.

The Grid Texture generates a procedural texture from a simulator’s Grid Channel data, for use in shading the simulation. A typical application of this texture is for shading the meshes of simulated liquids that were exported with an RGB Grid Channel. You could also use it as a blending mask, where the Grid Texture can be used to read the RGB color of the Simulator, which can then be used as a blending factor between two different materials. 

Meanwhile, the Ocean Texture is an infinite and non-repeating procedural texture for representing a realistic ocean. It displaces a water surface at render time to add wave details, and can easily be used to create an infinite ocean mesh. 

However, if you want to actually simulate waves interacting with geometry, rather than simply being a non-interactive render time displacement, you can also plug the Ocean Texture into a Wave Force, to drive the simulation of waves based on your settings in the Ocean Texture. 

The Foam Texture is designed to be used with the Ocean Texture, to create the effect of foam forming at the crests of the ocean waves. Since the foam is generated at render time, it is quite fast, and can be helpful when you prefer to avoid simulating actual foam particles, which can be time-consuming to simulate, especially for larger scenes.

Lastly, there is the Particle Texture, which is a 3D texture that is similar to the Grid Texture, in that it reads data, but the Particle Texture specifically reads Particle Channels. The Particle Texture can shade a Particle’s color based on its Age or Speed, so that you can change the Particle’s color over time based on the behavior of those particle channels. 

The Particle Texture is also commonly used to read Wetmap Particles to emulate a wet surface. WetMap particles are created at the point of contact between the liquid and the scene geometry. When used with a Blend Material, the Particle Texture acts as a mask to blend between two materials, for example, a wet material and a dry material. This way, geometry covered by WetMap particles can appear wet, and the rest of the geometry can appear dry. 



Alright, you’ve now been introduced to what you can do with Chaos Phoenix, as well as many of the major concepts of running a Phoenix simulation. 

You’ve seen how the Simulator, Sources and Emitters are used to create a simulation, which is stored as a sequence of cache files. We’ve also covered how different render modes enable you to render simulation data as volumetrics or surface meshes. 

In addition, we covered how Grids and Grid Channels, as well as Particles and Particle Channels, play an important role by representing the various fluid properties of your simulations.  We also discussed how the Particle Shader can be used to shade Particles, using a variety of bubble types, or points or even the fog mode.

Lastly, we covered Phoenix Forces and Phoenix Textures, which can be used to create more advanced effects, and further manipulate your simulations to your desire.

Put particles into practice.

Chaos Phoenix free for 30 days

About the author

Cory Holm

Cory Holm has a broad variety of professional experience at the intersection of visual arts and technology. He graduated from Virginia Commonwealth University with dual Bachelor of Arts degrees in English and Film, and his interest in 3D design inspired him to pursue freelancing. After joining Chaos, he worked as a 3D generalist assisting with video production for Chaos product releases, tutorial content and webinars. He now specializes in creating tutorial content for Chaos Phoenix, helping artists learn how they can use dynamic visual effects to enhance their scenes.

Originally published: October 25, 2022.
© Škoda Design

Subscribe to our blog.

Get the latest news, artist spotlight stories, tips and tricks delivered to your inbox.

By submitting your information you are agreeing to receive marketing messages from Chaos. You can opt-out at any time. Privacy Policy.

© 2024 Chaos Software EOOD. All Rights reserved. Chaos®, V-Ray® and Phoenix FD® are registered trademarks of Chaos Software EOOD in Bulgaria and/or other countries.