Table of Contents

This page provides information on the Liquid Source (PhoenixFDLiquidSource) component in Phoenix for Maya.

Overview


The Source controls the emission of fluid and where the fluid emits from, so that the simulator knows where in 3D space the fluid can be born.

An Emitter can be geometry and/or particles, and is what actually emits the fluid inside the simulation grid. The emitter(s) must be selected by the Source in order to emit fluid inside the simulator, unless you are using the Initial fill option in the simulator’s settings, or specifying a geometry to do an initial fill with liquid.

The Source also contains its own settings that determine how much fluid is emitted, what is emitted, and so forth. A Liquid Source can be used to emit fluid into a Liquid Simulator using Liquid FLIP particles, or any of the Source's Grid Channel options, and it can also emit fluid for multiple channels at once.

This includes emitting options such as RGB color and Viscosity, as well as emitting secondary particle types like Splashes, Mist and Foam.

If you have many Simulators in the scene, by default each Simulator will interact with a Source's Emitter Nodes, as long as they are inside that Simulator. You can exclude Sources or Emitters from a Simulator's Scene Interaction rollout.

Note that if you switch to the Include List mode by un-checking Exclude List, you need to pick both the Source and its Emitter Nodes in the Interaction Set for them to interact with the sim.

The Source can emit in three different Emit Modes:

  • Surface Force creates fluid only at the surface of emitters

  • Volume Brush fills the entire volume of emitters

  • Volume Inject fills an emitter’s volume while adding pressure for an explosive effect

You can also use textures as masks for each of the emission channels, to create more interesting emission behaviors, with more variation. Specifically, Masks make it possible to emit unevenly from only some areas, or emit unevenly from the entire volume of an emitter.

Using textures as masks can help to break up the emission, and can lead to a more varied or natural looking result. For example, you could use a black and white noise texture as a Mask when emitting Liquid particles, to make it so that the black parts of the texture emit nothing, while the white parts emit Liquid.
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.

Additionally, each channel can have one or many Discharge Modifiers. They can give you more precise procedural control over how the fluid gets emitted.

Discharge modifiers vary the emission over different parts of the emitter, depending on the properties of the emitter - e.g. the direction of its Normals, the speed of movement at each point of an animated emitter, etc


When using a V-Ray Vertex Colors texture as a color map for the RGB slot, or a mask to modulate any of the emission channels (e.g. Discharge, Smoke, etc.), make sure to set the Type to Set name and the Set name to colorSet1. colorSet1 is the default naming convention for Maya's vertex color sets. If you add additional color sets (using Mesh Display → Create Empty Set), each consecutive set will be named colorSet2, colorSet3, etc.

For a step by step tutorial on using the Vertex Color texture for as the Source's RGB map, please check the Simulation RGB Workflows (Chapter 3) tutorial.

Otherwise, if you want to use a Vertex Color texture in the Discharge Mask, Temperature Mask, Smoke Mask, Fuel Mask or Particle Mask, note that it will read the Vertex Alpha and not the Vertex Color RGB. If you are using vertex painting, make sure to paint in RGBA mode and use Alpha = 0 for areas that should not emit. When using the Vertex Color texture as a mask, its Vertex Color RGB does not matter at all.



UI Paths

||Phoenix FD menu|| > Create > Liquid Source


||Phoenix FD Shelf|| > Create Phoenix FD Liquid Source button



Parameters


Fluid can be emitted from a geometry’s surface, or from the entire volume of an emitting geometry. Non-Phoenix particles, such as nParticles, can also act as emitters for a Phoenix Source. They can emit from a spherical 3D shape, or from instanced geometry.

Note that if the Emit Mode is set to Volume Brush or Volume Inject, and you have a Mask that uses Projection, then the Mask will be applied on the whole volume, based on the closest geometry surface.

Note that the Source icon itself does not emit fluid, so the position of the icon's viewport gizmo in the scene does not matter. Instead, you must pick the geometry and/or particles that you want to use as emitters, in the Source’s list.

Also, note that even if you do not simulate visible fluid like liquid, there can still be Velocity simulated within the grid, if for example, you animate an object to move around inside the grid to stir the Velocity channel. The simulated velocity can also be previewed in the viewport, or even rendered.

Emitter Set | nodeSet – Specifies a list of objects that will emit fluid. Both geometry and particle systems can be selected here. Note that if you want to emit from an Instancer, you must select the instanced geometry in this set. Also note that you can add Simulators as emitters as well, as if the surface or the volume of their fluid was a regular geometry in the scene. This way you can use one Simulator to emit fluid into a second Simulator, so you can get effects such as burning liquid. For additional information, please head over to the Interactions Between Simulators page.

Emit Material | material –  In Maya objects can have different materials assigned to different polygons of the object. Only polygons with the specified material will emit the fluid.

Emit Mode | ifNotSolid (enum: 0 - 3) – Specifies the way the objects in the Emitter Set emit fluid.

Surface Force – The surface of the emitters will eject the selected fluid channels along the geometry normals. In this mode, the Discharge acts as Outgoing Velocity and it specifies the speed of the emitted fluid in units/sec. The displayed units will change accordingly if the scene units change.

This mode can work with both Solid and non-Solid emitters. If you use a Mask for the discharge in Surface Force mode, white areas of the emitter's surface will eject fast fluid, while darker ones would emit more slowly. Black areas will not emit at all.

Volume Brush – The fluid inside the volume of the emitters will gradually change towards the selected channel values. When this mode is selected, the Discharge acts as Brush Effect (%) and it specifies the rate at which the transition takes place. When Brush Effect is 100%, the fluid will immediately reach the selected channel values, and if Brush Effect is less, it specifies how close the fluid values will get to the values from the Source over 1 second. E.g. if the Temperature inside an emitter's volume is 1000 and the Source emits Temperature 2000 with Brush Effect of 80%, then after 1 second the temperature will have risen to 1800. Note that the Volume Brush mode can both increase or decrease the fluid values, for example if the Smoke in the Source is set to 0.5, the Source would increase the smoke in voxels that have 0.0 smoke until it reaches 0.5, but will decrease the smoke in voxels having 1.0 smoke, again - until it reaches 0.5. This mode is useful for creating standing volumes of fluid with a high Brush Effect, or alternatively - to slowly convert the fluid inside the volume of the emitters to the values selected below over a period of time. Note that you can both increase or decrease the values of the fluid channels in Volume Brush mode. When Brush Effect (%) is 0, then the Source has no effect.

This mode requires that all selected emitters are set into non-Solid mode from their Per-Node Properties. If you use a Mask for the discharge in Volume Brush mode, white zones in the volume will have the Brush Effect you have specified, while darker zones will use a smaller Brush Effect. Completely back zones in the mask would not be affected at all by this Source.

Volume Inject – The volume of the emitters will discharge the selected fluid channels with added pressure. When this mode is selected, the Discharge acts as Inject Power and it specifies the added volume of the injected fluid per second. This mode is useful for getting explosive discharge. Inject Power can be negative, in which case the Source will suck in and delete the fluid.

This mode requires that all selected emitters are set into non-Solid mode from their Per-Node Properties. If you use a Mask for the discharge in Volume Inject mode, white zones in the volume will have the Inject Power you have specified, while darker zones will use a smaller Inject Power. Completely back zones in the mask would not be affected at all by this Source.

Transfer – The volume of the emitters will transfer content from other Phoenix Simulator object(s) into this one. The Discharge acts as Transfer Effect (%).

When emitting from particles in any of the 'Sphere' Particle Shape modes, the Surface Force Emit Mode is not supported - Phoenix will automatically fall back to Volume Inject mode. Only Use Particle Shape supports all 3 emit modes.

Emit Mode: Transfer is not supported by particles either - Phoenix will automatically fall back to using Volume Brush.

Discharge discharge – This parameter controls the strength of the source. Check Emit Mode for more info.

Discharge Mask dischargeMult – Allows you to vary the Discharge over the surface or the volume of the emitters. White areas of this map will have the strongest discharge, while black areas of the map will not discharge at all. The individual fluid channels can also be modulated using dedicated maps from the options below. See the info on the Emit Mode option above for more info on how the Mask affects each mode. Make sure to enable the texture's Alpha is Luminance option. For more information on texture mapping in Phoenix, please check the Texture mapping, moving textures with fire/smoke/liquid, and TexUVW page.

Noise noise – Varies the Discharge across the surface or the volume of the emitting geometry or particle. The variation also changes over time. This is a shorthand for using an animated noise in the Mask slot.


Emit Liquid | useTemperature – Enables or disables liquid emission. Disabling this option is useful in situations where only foam and splashes need to be emitted but not the liquid itself.

RGB useUvw, uvw – If the RGB Map is not enabled, the emitted fluid's RGB channel will contain the specified color. If the RGB Map is enabled, the RGB values from the texture map will be used instead of the color swatch. If the RGB channel is not enabled in the Output rollout of the Simulator, this parameter will be ignored. Also, note that if Emit Mode is set to Volume Brush or Volume Inject and the Map uses Projection, then the Map will be applied on the whole volume, based on the closest geometry surface.

RGB Map uvwMult – Allows you to vary the RGB over the surface or the volume of the emitters. If this is used, the color swatch is ignored. Otherwise, the Source will emit equal RGB over the entire surface or volume of the emitters. For more information on texture mapping in Phoenix, please check the Texture mapping, moving textures with fire/smoke/liquid, and TexUVW page.

To enable these RGB colors to be rendered for smoke, set the Smoke Color Based On parameter to RGB. For rendering of meshed liquids, set a Grid Texture as the Diffuse map for a V-Ray Material, and set the Grid texture's Channel to RGB.


Viscosity | useViscosity, viscosity - Specifies the viscosity of emitted liquid. If the viscosity channel is not enabled in the Output rollout of the Simulator, this parameter will be ignored.

Viscosity Mask | viscMult - Allows you to vary the viscosity over the surface or the volume of the emitters. If this is not used, the Source will emit equal viscosity over the entire surface or volume of the emitters.


Foam Particles | useFoamParticles – Allows the source to emit Foam particles into the Simulator. Note that Foam simulation must be enabled from the Simulator so this type of particles can be emitted into it. The particle birth rate is in thousands of particles per second.

Splash Particles | useSplashParticles – Allows the source to emit Splash particles into the Simulator. Note that Splash simulation must be enabled from the Simulator so this type of particles can be emitted into it. The particle birth rate is in thousands of particles per second.

Mist Particles | useMistParticles – Allows the source to emit Splash particles into the Simulator. Note that Splash | Mist simulation must be enabled from the Simulator so this type of particles can be emitted into it. The particle birth rate is in thousands of particles per second.

Particles Mask | foamParticlesMult, splashParticlesMult, mistParticlesMult – Allows you to vary the amount of particles over the surface or the volume of the emitters. If this is not used, the Source will emit equal amount of particles over the entire surface or volume of the emitters. Make sure to enable the texture's Alpha is Luminance option. For more information on texture mapping in Phoenix, please check the Texture mapping, moving textures with fire/smoke/liquid, and TexUVW page.


Direct Velocity (units/sec)useDirectedVelocity – Creates velocities in a certain direction or based on a Map.

Direct Velocity Map | directedVelocityMap – Allows you to vary the Direct Velocity over the surface or the volume of the emitters. If this is not used, the Source will emit equal Direct Velocity over the entire surface or volume of the emitters. When using Map, the Direct Velocity is generated from the selected texture and is not multiplied by the value added in the Directed Velocity X/Y/Z slots.

When using a Texture map to direct the Velocity of the fluid emitted from the Source:

The Red color affects the Direct Velocity on the +/- X axis.

The Green color affects the Direct Velocity on the +/- Y axis.

The Blue color affects the Direct Velocity on the +/- Z axis.

Motion Velocity | useVelocity, velocity – When enabled, moving emitters will affect the velocity of the fluid and make it follow the emitter. This effect is controlled with the specified multiplier. If the emitter is not moving, this option has no effect.

  • Particles with attached geometry will act like standard geometry obstacles and will push the fluid by default, as long as their Solid Phoenix property is enabled.
  • Particles without geometry will need to be attached to a Source in order to interact with the fluid in any way.
  • Particles without geometry can emit fluid using their shape and size using the Source's Particle Shape and Custom Prt Size options.
  • Particles without geometry will not affect the fluid's motion by default, so you need to enable Motion Velocity explicitly if you need this effect.
  • If Motion Velocity is enabled, the fluid emitted by a particle may refuse to leave the particle shape area and continue to move together with the particle, because it will have the same velocity.

When using 2D Textures (such as Ramp for example) together with a Phoenix Source in Volume Brush mode you will need to set up a Projection and adjust the 3D placement node in order to get correct mapping.

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.



TexUVW Emission


The main purpose of the Texture UVW feature is to provide dynamic UVW coordinates for texture mapping that follow the simulation. If such simulated texture coordinates are not present for mapping, textures assigned to your simulation will appear static, with the simulated content moving through the image. This undesired behavior is often referred to as 'texture swimming'. In Phoenix such textures can be used for mapping the fire or smoke color and opacity of volumetrics, as well as the color and opacity of meshes. Texture can be also used for displacing volumetrics and meshes.

UVW coordinates are generated by simulating an additional Texture UVW Grid Channel which has to be enabled under the Output rollout for the settings below to have any effect.

For additional information on the Texture UVW feature, please check the Texture mapping, moving textures with fire/smoke/liquid, and TexUVW page.

Inherit TexUVW From Geom | texUVWFromGeom – Sets the UVW Grid Channel value for each cell where fluid is emitted to the UV value of the emission geometry in that cell. As a consequence, for example, modulating the Smoke Color with a texture on the very first frame will produce a render that looks very close to the original geometry, if the same texture was applied to it. When this option is disabled, the TexUVW values will be based on the position of the emission object inside the Simulator. Please check the Texture UVW example below. 

Variation | texUVWVarMode – Variation is used to offset the UVW coordinates upon emission to avoid visible tiling once a texture is applied to the resulting simulation. Similarly to a printer, if the UVW channel is not varied, it would be like printing out the same sentence over and over again on each new line. When varied, the printer will change the line being printed. The following methods are available:

  • No Variation - The emitted TexUVW will not change over time.
  • Along U/V/W - The emitted TexUVW value will change over time in the U/V/W direction and by the amount set in Variation/Sec.
  • Along Grid/Object/World Normals - The emitted TexUVW value will change over time in the direction of the emitting geometry's normals in Grid/Object/World space and by the amount set in Variation/Sec. Grid space is the system of the Simulator, it always has the Z axis pointing up. Object space is the local transform of the emitter.

Variation/Sec | texUVWVarSpeed – Controls the variation speed - the default value of 1 will cause textures assigned for rendering to repeat exactly once for every 30 frames (1 second) of the simulation.


Example: Inherit TexUVW with Variation


The following video provides examples of Inherited Texture UVW coordinates repeating along the V-axis over 0, 1 and 2 seconds. When Variation is set to 0, the V coordinate remains static. If Variation is set to 1, it takes one second for a full repetition/tile along the V-axis.


Emission from Particles


Time Base | timeBase (enum: 0 - 1) – This parameter is used when emitting from particle systems. It allows you to animate the parameters using the age of the particle instead of the timeline frame time.

Absolute – Parameters of the source will be animated based on the timeline frame time.
Particle Age – Parameters of the source will be animated based on the age of the particle. This way, values at timeline frame 0 will apply to each particle at the moment of its birth, and e.g. values at frame 10 will apply to the particle 10 frames after it was born. This allows particles born at different moments to perform identical animations offset in time. This can be useful e.g. if you want all particles to emit strongly after they are born and reduce their emission after a while, but in case the particles are born through a long period of time, the Absolute mode will change the discharge of all particles together, while Particle Age will allow each particle to have its own copy of the animation.

Time Scale different than 1 will affect the Particle Age in the Liquid Source. In order to get predictable results you will have to adjust the keyframes using this formula: Time Scale * Time in frames.

Particle Shape | partShapeType (enum: 0, 1, 3)  – This parameter is used when emitting from particle systems.

Sphere, 1 voxel – Each particle will be the size of one grid cell. Particle sizes and shapes will be ignored.
Sphere, use size – The particle sizes (radiusPP) will be used.
Sphere, custom size – The particle shape will be spherical and the size will be taken from the Custom Particle Size field.

When a source emits from non-solid particles in any of the Sphere modes, the simulator traces each moving sphere and emits continuously throughout its trajectory, no matter how fast the particle is moving and how many steps the simulation uses. In a contrary way, in Use particle shape mode, the particles are getting evaluated the same way as regular mesh geometries, so in motion they are sampled only at the simulation steps without filling the trajectory in between the particle positions in time. In such case, if a particle moves very quickly and the simulator has low Steps per Frame, the trajectory of the particle would get interrupted and you should increase the simulation steps in order to keep it continuous.

Custom Prt Size | partCustSizeUnits – Specify a custom size for the particles using this option. The size is in scene units.


Discharge Modifiers


A list of modifiers that allow modulating the emission using properties of the source object (such as Normal, Position or Speed) at the point of interaction with the simulator. A ramp control is used to remap from the value of the specified property to a user-specified multiplier.

See the Discharge Modifiers page for more information.


Example: RGB Map Vertex Color



Smoke Simulation
Map = Vertex Color

Liquid Simulation
Map = Vertex Color