You can emit fluid from geometry or from particles. The fluid can be emitted from the surface, or from the entire volume of emitting geometry. Particles can emit from a spherical shape, or from instanced geometry shapes. Note that the viewport gizmo of the Source does not emit fluid itself - you have to first pick the geometry or particles you would use as emitters in the Source's list.
The position of the Source icon in the scene does not matter. 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 this Simulator. You can exclude Sources or Emitters from a Simulator's Scene Interaction rollout. If you use Include mode, you have to pick both the Source and its Emitter Nodes in the Interaction List.
The Source can emit in 3 different Emit Modes - Surface Force mode creates fluid only at the surface of emitters, Volume Brush fills the entire volume of the emitters, and Volume Inject also fills the emitter's volume and adds pressure for an explosive effect.
You can emit any fluid grid channel and you can emit many channels at once. Additionally, you can emit particles from the Source. If you want to emit unevenly only from some areas or volumes of the emitters, you can use a Mask for each of the emission channels. Also, note that if Emit Mode is set to Volume Brush or Volume Inject and the Mask uses Explicit Map Channel or Vertex Color Channel mapping, then the Mask will be applied on the whole volume, based on the closest geometry surface.
Additionally, each channel can have one or many Discharge Modifiers. They allow you to gain more precise procedural control over how the fluid gets emitted. Discharge modifiers vary the emission over different parts of the emitter depending on properties of the emitter - e.g. the direction of its normals, the speed of movement at each point of an animated emitter, etc.
Emitter Nodes | sources – Specifies a list of objects that will emit fluid. Both geometry and particle systems can be selected here. Press the Add button and pick an object from the Viewport, or a list of objects using the Scene Explorer.
Emit Mode | ifnotsolid – Specifies the way the objects in the Emitter Nodes emit fluid.
Surface Force – The surface of the emitters will eject the selected fluid channels along the geometry normals. In this mode, the discharge is named 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 is named 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. 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 is named 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.
When emitting from particles in any of the 'Sphere' Prt Shape modes, the Surface Force Emit Mode is not supported - Phoenix FD will automatically fall back to Volume Inject mode. Only Use Particle Shape supports all 3 emit modes.
Inject Power / Brush Effect (%) / Outgoing Velocity | discharge / brusheffect / outvel – These parameters control the strength of the source. Check Emit Mode for more info.
Mask | dmap, usedmap – Allows you to vary the Outgoing Velocity, Inject Power or Brush Effect (%) 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.
Modifiers | dmoddisch – Discharge Modifiers can be attached here in order to affect the Outgoing Velocity, Inject Power or Brush Effect (%) parameters.
Noise | noise – Varies the Outgoing Velocity, Inject Power and Brush Effect (%) 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.
Temperature | temperature, uset – Specifies the temperature of the emitted fluid, in Kelvin. A value of 0 is absolute zero, and a value of 300 denotes room temperature. Temperature above 300 makes the fluid rise up, while temperature below 300 makes it fall down. You can find out more about Phoenix Grid Channel Ranges here. If the Temperature channel is not enabled in the Output rollout of the Simulator, this parameter will be ignored.
Modifiers | dmodt – Discharge Modifiers can be attached here in order to affect the Temperature parameter.
Mask | tmap, usetmap – Allows you to vary the channel over the surface or the volume of the emitters. If this is not used, the Source will emit equal temperature over the entire surface or volume of the emitters.
Smoke | smoke, usesm – Specifies the density of the emitted Smoke. This value is usually between 0 and 1, but it can be set greater than 1 if you wish your smoke to look thick and heavy even after traveling some distance. You can find out more about Phoenix Grid Channel Ranges here. If the Smoke channel is not enabled in the Output rollout of the Simulator, this parameter will be ignored.
Modifiers | dmodsm – Discharge Modifiers can be attached here in order to affect the Smoke parameter.
Mask | smap, usesmap – Allows you to vary the channel over the surface or the volume of the emitters. If this is not used, the Source will emit equal smoke density over the entire surface or volume of the emitters.
Fuel | fuel, usefl – Specifies the amount of emitted Fuel. If the Fuel channel is not enabled in the Output rollout of the Simulator, this parameter will be ignored.
Modifiers | dmodfl – Discharge Modifiers can be attached here in order to affect the Fuel parameter.
Mask | flmap, useflmap – Allows you to vary the channel over the surface or the volume of the emitters. If this is not used, the Source will emit the same amount of Fuel over the entire surface or volume of the emitters.
RGB | uvw, useuvw – 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 Explicit Map Channel or Vertex Color Channel mapping, then the Map will be applied on the whole volume, based on the closest geometry surface.
Modifiers | dmodrgb – Discharge Modifiers can be attached here in order to affect the RGB parameter.
Map | uvwmap, useuvwmap – Allows you to vary the RGB over the surface or the volume of the emitters. If this is not used, the Source will emit equal RGB over the entire surface or volume of the emitters.
None – The RGB channel will not vary.
Texmap – Allows you to specify a texture map to color the fluid emitted by the Source. If this is used, the color swatch is ignored and the RGB comes entirely from the texture.
Vertex Color – The RGB channel of the emitted fluid is determined by the emitter node's vertex colors. If this is used, the color swatch is ignored and the RGB comes entirely from the vertex color.
Particles | particles, useprt – Allows the source to emit particles into the Simulator. The particle birth rate is in thousands of particles per second.
Type | prttype – Specifies the type of particles created by this source:
Drag – The source will emit Drag particles. These are the simplest Phoenix particles and are just carried by the velocity of the simulation, without interacting with one another. They can be shaded using the Particle Shader and can be used for simulation of embers, or integration effects such as dust or sand. The RGB color of Drag particles is inherited from the Source and written in the cache files if the Simulator → Output → RGB Grid Channel is enabled.
Foam – The source will emit Foam particles into liquid simulations. Note that Foam simulation must be enabled from the Liquid Simulator so this type of particles can be emitted into it.
Splashes – The source will emit Splash particles into liquid simulations. Note that Splash simulation must be enabled from the Liquid Simulator so this type of particles can be emitted into it.
Modifiers | dmodprt – Discharge Modifiers can be attached here in order to affect the Particles parameter.
Mask | prtmap, useprtmap – 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.
Lifespan (secs) | prtlife – The maximum age of the particles created by this source, specified in seconds.
Lifespan var. | prtlifevar – Adds variation of the particles' lifespan, specified in seconds.
Output Drag Particle Channels - Drag particles are created as separate particle systems per each Source that creates them, using the name of the emitting geometry. This is why the particle channels written to the simulation cache files are chosen from the Source, unlike the channels of other particle types which are set through a Simulator's Output rollout. Note that writing more channels to the cache files takes more time and will add up to the simulation time, so if you know in advance that you will not be needing a certain channel for rendering, then it would help the simulation times if you turn it off.
Velocity | prtexportvel – When enabled and the particle Type is set to Drag, this parameter exports the Velocity channel to the cache files, so that you can use it for rendering with motion blur or coloring of particles based on their speed using the Particle Texture.
ID | prtexportid – When enabled and the particle Type is set to Drag, this parameter exports the ID channel to the cache files.
Age | prtexportage – When enabled and the particle Type is set to Drag, this parameter exports the Age channel to the cache files.
RGB | prtexportrgb – When enabled and the particle Type is set to Drag, this parameter exports the RGB channel to the cache files.
The RGB Grid Channel output under Fire/Smoke Simulator → Output has to be enabled for the RGB simulation to take place.
Motion Vel. | usevel, velmult – 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 (such as PFlow particles using a Shape Instance operator) 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 (even PFlow particles with a plain Shape operator) 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 Vel. explicitly if you need this effect.
- If Motion Vel. 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.
Modifiers | dmodvel – Discharge Modifiers can be attached here in order to affect the Motion Vel. parameter.
Polygon ID | poly_id – Only the polygons with the specified ID of the emitter geometry will emit the fluid.
The main purpose of Texture UVW 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 Dynamics rollout documentation.
Inherit TexUVW From Geom | texuvw_geom – 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.
Map Channel | texuvw_geom_ch – Specifies the Map Channel index to sample. This is useful when your geometry has multiple UV sets (called Map Channels in 3ds Max) with different layouts.
Variation | texuvw_var_mode – Variation is used to animate and 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 | texuvw_var_speed – 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.
Emission from Particles
Time Base | timebase – 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.
Prt Shape | prt_shape – 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 will be used, but the shape will always be spherical.
Sphere, custom size – The particle shape will be spherical and the size will be taken from the Custom Prt Size field.
Use particle shape – The particle shapes will be used as they are provided. This might slow the simulation down if there are a large number of particles.
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 | prtsphsz – Specify a custom size for the particles using this option. The size is in scene units.
Example: RGB Map Vertex Color
Map = Vertex Color
Map = Vertex Color