The Inferno Emitter operator allows you to inject smoke, fire, fuel, etc into an Inferno simulation.
The Inferno Emitter can operate in two modes depending on where it is placed in the flow. When placed in a standard Inferno event, it uses the object list to determine which scene objects act as emitters. When placed directly inside a particle event, it uses the particles in that event as emitters, and the object list is hidden.
Object list: the list of mesh objects, particle systems, or tyFlow objects to use as emission sources.
Include this flow’s particles: when enabled, the tyFlow object that owns this operator will also be used as an emission source.
Points: emission originates from the point positions of the source geometry.
Triangles: emission originates from the triangle surfaces of the source geometry.
Volume: emission originates from the full volume of the source geometry.
Accurate: the voxelization process will query the emission surfaces on a per-voxel basis, allowing for more accurate emission from texmaps, noise and other Value-operator-based voxel-value modulators.
Fast: all Value-operator-based voxel-value modulators (texmaps, noise, etc), will be cached on a per-vertex basis for each emission surface. The voxelization process will then query per-voxel values by interpolating between those cached vertex-level values, resulting in much faster emission in most cases, at the potential cost of losing detail.
When using Value operators to modulate density, temperature, etc, sampling the input emission surfaces at the location of every emitted voxel can be a computationally expensive process. The “fast” quality mode improves the speed of emission by caching all Value operator data at a per-vertex level for each emission surface mesh. That way, the voxelization process doesn’t need to evaluate each Value operator on a per-voxel level - it just interpolates between the cached per-vertex values. The downside to this process is that for modulators like noise, or texture maps, the amount of detail generated will be relative to the density of the emission surface. “Accurate” mode, on the other hand, will evaluate all Value operators at a per-voxel level, meaning all detail will be retained by the emission process - at the cost of performance.
Emission thickness: the depth of the emission region from the source geometry surface, in world units.
Thickness region: controls on which side of the surface the emission region extends.
Above/below: the emission region extends on both sides of the surface.
Above: the emission region extends only above the surface (along the surface normal direction).
Below: the emission region extends only below the surface.
No emission conditions: emission is applied unconditionally to all voxels within the emission region.
Emit when voxels intersect: emission is only applied to voxels that already contain non-zero values from the simulation.
Enabling “emit when voxels intersect” makes it easy to simulate effects like dust from footprints or tire tracks, without needing to “hide” pre-disturbed fluid. When this mode is enabled, the voxelization algorithm will only generate density, temperature, fluid, etc, in a voxel if it finds that another emitter previously emitted fluid into that same voxel in a prior emission/voxelization step. So, for example, emitting density into a large plane as well as a tire rolling over it (with the intersection mode enabled), will result in density only actually being emitted where the tire intersects the plane - resulting in a distribution of disturbed density/dust that only appears where the tire actually rolls over and intersects the plane.
Each channel can be enabled independently. When enabled, the associated value is injected into the simulation each step. The Mode dropdown controls how the emitted value is combined with the existing voxel value:
AbsMin: the lower of the emitted value and the existing voxel value will be kept.
AbsMax: the higher of the emitted value and the existing voxel value will be kept.
Add: the emitted value will be added to the existing voxel value.
Blend: the emitted value will be blended with the existing voxel value.
Replace: the existing voxel value will be replaced with the emitted value.
Subtract: the emitted value will be subtracted from the existing voxel value.
Density: when enabled, the specified density value will be emitted.
Temperature: when enabled, the specified temperature value will be emitted.
Relative to density: when enabled, the emitted temperature value will be scaled based on the local density value, so that hotter areas correspond to denser areas.
Fuel: when enabled, the specified fuel value will be emitted.
Color: when enabled, the specified color value will be emitted.
Velocity emission injects directional motion into the fluid. Multiple velocity modes can be active simultaneously.
Pressure: when enabled, an outward pressure force will be applied from the emitter surface.
Motion: when enabled, the velocity of the emitter’s surface motion will be injected into the fluid.
Normals: when enabled, velocity will be injected along the surface normals of the emitter geometry.
Perturb normals: when enabled, the normals used for normal-based velocity emission will be perturbed by a noise field, producing more turbulent directional variation.
Vector: when enabled, velocity will be injected in a fixed direction, defined by the selected vector mode.
Mode: the axis or direction used for vector velocity emission.
Node X/Y/Z-axis: the direction is taken from one of the specified node’s local axes.
Source X/Y/Z-axis: the direction is taken from one of the emitter object’s own local axes.
Vector: the direction is defined by an explicit X/Y/Z vector.
Simulate substeps: when enabled, emitter positions will be interpolated across time steps, improving emission accuracy for fast-moving objects.
Split mesh elements: when enabled, each disconnected mesh element will be treated as a separate emitter.
Split particles: when enabled, each particle will be treated as a separate emitter.
Smooth normals: when enabled, smoothed vertex normals will be used when voxelizing the emission region.
Use convex hull: when enabled, emission will be calculated against the convex hull of the emitter mesh rather than its actual geometry.
Push vertices: when enabled, all mesh vertices will be offset outward along their normals by the specified amount before emission processing.
Weld vertices: when enabled, mesh vertices within the specified threshold distance will be welded together before emission processing.
Enable matID filter: when enabled, only faces with the specified material IDs will contribute to emission.
MatIDs: a comma-separated list of material IDs to include.
Invert: when enabled, all faces except those with the listed material IDs will contribute to emission.
Enable surface area filter: when enabled, only mesh faces whose surface area is above the specified threshold will contribute to emission. Useful for excluding small meshes from emission.
Particles from particle system sources can be filtered to restrict which particles contribute to emission.
Simulation groups: controls which particle simulation groups will be included.
Export groups: controls which particle export groups will be included.
Enable custom float filtering: when enabled, only particles whose specified custom float channel value matches the filter condition will contribute to emission.
Channel: the custom float channel name or names to filter by. Multiple channel names can be specified, separated by commas.
Keep zero values: only particles with a zero value in the specified channel will be included.
Keep non-zero values: only particles with a non-zero value in the specified channel will be included.
Enable point emission override: when enabled, qualifying particles will be treated as a point emitter whose emission radius is derived from its size, overriding the default surface-based emission method.
Max surface area: particles whose surface area exceeds this threshold will not use point emission.
Radius multiplier: a multiplier applied to each particle’s radius when calculating its point emission volume.
Radius from scale: when enabled, the emission radius for meshless particles will be derived from the particle’s scale value.
Radius multiplier: a multiplier applied to the radius derived from the particle’s scale.