Table of Contents

There are many places in Phoenix where you can insert a texture and affect the simulation or rendering of fluids - fire/smoke or liquids:

However, if you simply map the smoke, fire or liquid colors or opacity with a texture, by default the texture will stay static in space and will not move with the fluid and follow it. The texture can be animated to change throughout the timeline and Phenix will read this animation, but still, if you need the texture to move and follow the fluid precisely, you need some extra steps to set up a TexUVW simulation, which we will describe below.

Also, 3D textures get mapped over the volume automatically, but 2D textures usually expect to be mapped over a mesh, so mapping them over the fire/smoke requires some extra steps.

In this page we will go over everything you need to know about texture mapping in Phoenix.


Maya texture mapping specifics

In Maya, 3D textures will map over the Simulator automatically, but 2D textures need to be connected to the Simulator through a Maya Projection node in Perspective mode. While creating the texture, right-click over the Menu item in the Create panel and choose "Create as projection". Then select the projection node, press on the Interactive placement button and adjust your placement node:

Otherwise, Maya will look for UVs on the mesh and map the texture over them. However, the fire/smoke in the Simulator box don't have UVW coordinates by default, so if you plug a 2D texture without a Projection, it would probably not render correctly - it would be too squashed or too spread out, to the extent that it would probably even render just using one color over the entire simulator. Connecting without a Projection is useful for Phoenix together with Phoenix's TexUVW simulations.

Also, please note that when you need to use a texture as a mask, and not as a source of RGB colors, you need to enable the Alpha Is Luminance option of the texture - this is needed in Sources, Tuners, and mapping the opacity of Fire and smoke.


Phoenix TexUVW

When you want your texture to move together with the fire/smoke or liquid, you need to simulate with Phoenix's Texture UVW.

For this, you need to:

Then you can run the simulation and it would generate the needed UVW coordinates and carry them around with the fluid.

Once this is done, you can adjust the rendering settings of the texture you use without the need to simulate again, and once the simulation has UVW coordinates, you will be able to use 2D textures without the need for a Projection node finally.

For example, if you want to simulate colored mixing liquid or particles, one way would be to simulate with Grid RGB or Particle RGB on and then render this out, but if you decide you need to change any color, you would need to simulate all over again, or the alternative would be to simulate using TexUVW and then map a colored texture and adjust the texture or change colors without the need to run the simulation again.

Example uses of TexUVW would be:

  • Increasing the detail of Fire/Smoke simulations at render time by adding displacement which moves along with the fluid.
  • Increasing the detail of Fire/Smoke simulations at render time by modulating the opacity of the smoke, the smoke color, or the fire color and intensity with noise maps which move along with the fluid.
  • Re-coloring of Fire/Smoke or Liquid simulations at render time, after the simulation is complete.
  • Transporting images or texture color details with Fire/Smoke or Liquid simulations.

Technically, the Texture UVW channel values represent the UVW coordinates of each Cell in the Simulator, with a range of [ 0 - 1 ]. The channel is initialized when a simulation is started in one of two ways:

  1. By inheriting the UVs from the source geometry, when Inherit TexUVW from Geom is enabled on the Phoenix Source. The UVW channel will be based on the UVs of the emission geometry. This option is useful when simulating melting objects – textures assigned to the Volumetric Shader (for Fire/Smoke simulations) or the material (for Liquid simulations) will be carried by the simulation.
  2. When inheriting of UVs is disabled on the Source - depending on the position of the emitting object in the Simulator's bounding box. If Grid rollout → Adaptive Grid is enabled, the Texture UVW coordinates in expanded voxels beyond the initial grid will be greater than one if the grid is expanding in a positive direction (+X, +Y, +Z), and less than zero otherwise. This means that textures assigned to simulations using the Adaptive Grid feature will be automatically tiled/repeated as many times as the final size of the Simulator is larger than its initial size.

Also note that switching to Maya Mesh mode will create a new TexUVW UV set, if you have enabled the TexUVW channel in the Output rollout before running your simulation. In order to use the new UV set you need to select the Maya Mesh and link the TexUVW UV set from the Maya Relationship editor. Switching away from the Maya Mesh mode will reset the UV sets, so if later you decide to switch back to Maya Mesh mode you will need to relink the UV set again.