-
Notifications
You must be signed in to change notification settings - Fork 201
Domain Attributes and Data Settings
This page documents the current simulation attributes that can be generated for the fluid surface and whitewater particles during simulation baking.
An attribute in the FLIP Fluids addon can be thought of as an extra layer of data values that are attached to the vertices of the surface mesh, or attached to the whitewater particles. These attributes can then be accessed in Blender within a shader using the Attribute Node, or within Geometry nodes, or in other areas of Blender where attributes are supported.
Attributes allow for the creation of interesting effects. For example, you can shade the liquid based on fluid speed, use the velocity attribute for motion blur rendering, use the ID attribute to randomize whitewater particle size, use the lifetime attribute to fade out whitewater particles as they despawn, and much more.
- Attribute rendering is currently supported in both the Cycles and Eevee renderer. However, motion blur rendering is only supported in the Cycles renderer. Attributes are not supported on volumetric materials.
- Motion blur will not be visible in the viewport render mode and is only supported in full image or animation renders.
- Attribute rendering for fluid particles and whitewater particles are only supported on Blender Point Cloud and Mesh object types. The object type is set to Point Cloud by default and can be configured in the fluid particle or whitewater geometry nodes modifier (See Geometry Node Modifiers documentation).
- A current bug in Blender can cause frequent render crashes or incorrect renders when using attribute features. Rendering form the command line is necessary to fully prevent these issues.
- The FLIP Fluids sidebar helper menu contains command line tool operators to help you automatically launch a command line render:

Surface attributes are generated on the vertices of the fluid surface mesh. The options to generate surface attributes are located in the Domain > FLIP Fluid Surface > Geometry Attributes panel with the exception of the variable viscosity attribute which can be enabled in the Domain > FLIP Fluid World > Viscosity panel.
This set of attributes are based on and derived from the fluid velocity data within the simulation.
| Velocity Attributes | Generate fluid 3D vector velocity attributes for the fluid surface. After baking, the velocity vectors (in m/s) can be accessed in Blender using the name flip_velocity. If using in an Attribute Node, this attribute can be accessed from the Vector output. Export this attribute if motion blur rendering is required. If the 3D velocity direction is not needed, use the Generate Speed Attributes option instead. |
| Speed Attributes | Generate fluid speed attributes for the fluid surface. After baking, the speed values (in m/s) can be accessed in Blender using the name flip_speed. If using in a Attribute Node, this attribute can be accessed from the Fac output. |
| Generate Vorticity Attributes | Generate fluid 3D vorticity vector attributes for the fluid surface. After baking, the vorticity vectors can be accessed in Blender using the name flip_vorticity. If using in an Attribute Node, this attribute can be accessed from the Vector output. Fluid vorticity can be thought of as a measure of rotation, where the length of the vector is local rotation speed and the direction is the axis of rotation. The magnitude of vorticity (vector math length node) can be helpful for determining areas where the liquid is in turbulent motion. |
| Initialize Motion Blur operator | Refer to the FLIP Fluids sidebar > Geometry Node Tools documentation. |
This section enables generation of the color attribute as well as parameters to control how colors are blended/mixed within the simulator.
Related Documentation
| Color Attributes | Generate fluid color attributes for the fluid surface. Each Inflow/Fluid object can be set to assign color to the generated fluid. After baking, the color values (RGB, each in range 0.0 - 1.0) can be accessed in Blender using the name flip_color. If using in a Cycles Attribute Node, this attribute can be accessed from the Color output. |
| Enable Mixing | Simulate color mixing/blending. If enabled, particles will absorb color attributes from nearby particles. If disabled, particles will hold a static color value that does not change. |
| Mix Rate | Controls how quickly particles will absorb color from nearby particles. Higher values will cause colors to mix and spread more quickly. Lower values will cause colors to mix and spread more slowly. Changing this value from the default is not often needed. |
| Mixing Mode | The method that color attributes are mixed/blended. RGB The RGB mode blends colors using RGB additive blending, which is not physically accurate. Due to this, colors may not mix accurately compared to real-life color mixing such as paints. For example, mixing blue and yellow paint results in a green tone, but with RGB additive mixing this results in a shade of grey. RGB mixing can still produce acceptable results if the selected colors are closer or next to each other on the color wheel, such as Red/Orange/Yellow or Blue/Light-Blue. Colors that are on opposite sides will not mix well and will average to the center of the wheel to result in a shade of grey. Mixbox (recommended) The Mixbox mode blends colors by simulating the physically accurate mixing of colors to help you create vibrant multi-color simulations. This mode requires the FLIP Fluids Mixbox plugin to be installed. |

| Age Attributes | Generate fluid age attributes for the fluid surface. After baking, the age values (in seconds) can be accessed in Blender using the name flip_age. If using in an Attribute Node, this attribute can be accessed from the Fac output. Fluid is spawned with an initial age of 0.0 and increases according to time within the simulation. |
| Lifetime Attributes | Generate fluid lifetime attributes for the fluid surface. This attribute allows the fluid to start with a lifetime value that counts down in seconds and once the lifetime reaches 0, the fluid is removed from the simulation. Each Inflow/Fluid object can be set to assign a starting lifetime to the generated fluid. After baking, the lifetime remaining values can be accessed in a Cycles Attribute Node or in Geometry Nodes with the the name flip_lifetime from the Fac output. |
| Base Death Time | Base time in seconds at which the fluid is removed from the simulation. At the default of 0.0, fluid will be removed when their lifetime attribute counts down to 0.0. Increase or decrease this value to offset the base time of death. Increasing will result in fluid dying earlier. Decreasing will result in fluid dying later. |
| Whitewater Proximity Attributes | Generate whitewater proximity attributes for the fluid surface. The attribute values represent how many foam, bubble, or spray particles are near the surface mesh and can be used in a material to shade parts of the surface that are near whitewater particles. After baking, the proximity attribute can be accessed in a Cycles Attribute Node or in Geometry Nodes with the names flip_foam_proximity, flip_bubble_proximity, and flip_spray_proximity from the Fac output. Notes: Since this attribute measures the number of local whitewater particles, the attribute values can be quite large and vary a large amount between resolutions. To get an idea for the range of values and how to map the range, scan the Blender Spreadsheet Editor for these attributes. There is not a separate proximity attribute for dust particles and dust particles are added to the flip_bubble_proximity attribute. |
| Source ID Attributes | Generate fluid source identifiers for the fluid surface. Each Inflow/Fluid object can be set to assign a source ID value to the generated fluid. This attribute can be used to identify fluid from different sources in a material or geometry node group. After baking, the ID values (integers) can be accessed in Blender using the name flip_source_id. If using in an Attribute Node, this attribute can be accessed from the Fac output. Warning: This attribute is not supported with sheeting effects or resolution upscaling features. |
Note: A viscosity attribute can also be generated by enabling the Variable Viscosity feature in the Domain > FLIP Fluid World > Viscosity settings. After enabling this feature, the attribute can be accessed with the name flip_viscosity.
- The following surface attributes are not currently supported when using the sheeting effects feature: Source ID.
- The following surface attributes are not currently supported when using the upscale simulation to a higher resolution feature: Source ID.
- Surface attributes are not supported for the surface preview mesh. Only the final surface mesh can hold attribute data.
Fluid particle attributes are generated on the vertices of the fluid particle mesh. The options to generate fluid particle attributes are located in the Domain > FLIP Fluid Particles > Geometry Attributes panel.
The fluid particles contain the same set of attributes as the fluid surface: Velocity, Speed, Vorticity, Color, Age, Lifetime, Whitewater Proximity, and Source ID. For details on these attributes, refer to the Surface Attributes documentation above.

| UID Attributes | Generate Unique IDs for fluid particles. After baking, the UID values can be accessed in a Cycles Attribute Node or in Geometry Nodes with the name flip_uid from the Fac output. This can be used to uniquely select and track particles which can be useful for attribute storage and tracking in simulation nodes. Generated UID values start at 1 and count upwards. Tip: There may be situations where you will want to reduce the maximum UID value, such as for use in simulation nodes to reduce the amount of geometry required to manage a UID table. Enabling Reuse UIDs can help in this situation, if applicable to the effect. Limiting the amount of fluid particles exported can also be a good idea to prevent amount of UIDs - only fluid particles that are exported to the cache will generate a UID. Depending on the effect, you may not require all fluid particles to be visualized. Sometimes you may only need to export less than 1% of fluid particles for the effect. Warning: This attribute can require a larger amount of cache storage compared to the built-in flip_id attribute. If unique IDs are not required, leave this attribute disabled. Limitation: Due to a 32-bit value limitation in geometry nodes, the maximum UID value that can be used within geometry nodes will be 2,147,483,647 (231-1). You may reach this number in high resolution simulation when cycling fluid with an inflow/outflow. To avoid this limitation, you may want to reduce the amount of fluid particles exported. |
| Reuse UIDs | Reuse UID attribute values. If enabled, particles that are removed from the simulation may have their UID reused in a later frame. If a particle is removed from the simulation, the UID will not be reused until at least a 1 frame gap has passed. If enabled, UID values will only be unique to a single frame. Enabling is recommended for use in simulation nodes to reduce resource usage and amount of storage geometry required. If disabled, UID values will be unique to the entire simulation. Disabling is recommended for tracking individual particles in geometry nodes when simulation zones are not used. |
In addition to having the same attributes as the fluid surface, the fluid particles also have built-in attributes that are automatically loaded.

| Fluid Particle ID | The fluid particle ID values can be accessed in Blender using the name flip_id. If using in an Attribute Node, this attribute can be accessed from the Fac output. Use where consistent particle attributes are needed between frames, such as for varying particle size or varying color. |
| Is Surface Particle | These attribute values can be accessed in Blender using the name flip_is_surface_particle and is true if the particle is near the fluid surface. If using in an Attribute Node, this attribute can be accessed from the Fac output. |
| Is Boundary Particle | These attribute values can be accessed in Blender using the name flip_is_boundary_particle and is true if the particle is near the domain boundary. If using in an Attribute Node, this attribute can be accessed from the Fac output. |
| Is Interior Particle | These attribute values can be accessed in Blender using the name flip_is_interior_particle and is true if the particle is within the interior of the fluid. If using in an Attribute Node, this attribute can be accessed from the Fac output. |
- The following fluid particle attributes are not currently supported when using the sheeting effects feature: Source ID.
- The following surface attributes are not currently supported when using the upscale simulation to a higher resolution feature: Source ID.
Whitewater attributes are generated on the vertices of the whitewater meshes. The options to generate whitewater attributes are located in the Domain > FLIP Fluid Whitewater > Geometry Attributes panel.

| Generate Velocity Attributes | Generate 3D vector velocity attributes for the whitewater particles. After baking, the velocity vectors (in m/s) can be accessed in Blender using the name flip_velocity. If using in an Attribute Node, this attribute can be accessed from the Vector output. Export this attribute if motion blur rendering is required. Not supported on instanced particles by default - convert instances to a Mesh object type by realizing instances. |
| Generate ID Attributes | Generate stable ID attributes for the whitewater particles. After baking, the ID values can be accessed in Blender using the name flip_id. If using in an Attribute Node, this attribute can be accessed from the Fac output. Use where consistent particle attributes are needed between frames, such as for varying particle size or varying color. Not supported on instanced particles by default - convert instances to a Mesh object type by realizing instances. |
| Generate Lifetime Attributes | Generate lifetime attributes for the whitewater particles. After baking, the lifetime values can be accessed in Blender using the name flip_lifetime. If using in an Attribute Node, this attribute can be accessed from the Fac output. The lifetime of a particle starts with a value determined by the whitewater simulator and counts down to 0.0. When the lifetime of a particle reaches 0.0, it will be removed from the simulation. Not supported on instanced particles by default - convert instances to a Mesh object type by realizing instances. |
Our Attribute and Motion Blur Example Scenes provide simple and quick demonstrations for how to use Blender's attribute features in applications such as motion blur rendering, attribute based shading, and for use in geometry nodes. The basic setups example scenes contains detailed notes.
Video Guides
- Overview of simulation attributes: 2021 - 2022 FLIP Fluids Addon Development Video (beginning at timestamp 7:06).
- FLIP Fluids: Installing and Using Mixbox Color Blending Features.
- Olav3D Tutorials: [3.2] Blender Tutorial: Mixing Paint Colors With FLIP Fluids.
Tips:
- If you are new to attributes and geometry nodes in Blender, searching for a guide on how to use Blender's geometry nodes can help with understanding how attributes can be interacted with and used in Blender. Make sure to search for a guide that uses Blender 3.0 or later, as the geometry node workflow had some large changes since this version.
- When using attributes in a shader, the following nodes can be useful:
- Vector Math Node - Setting this node to compute the vector length will be useful to convert a 3D vector attribute to a scalar value (such as converting velocity to speed).
- Map Range Node - Useful for mapping from one range of values to a [0.0 - 1.0] range of values. For example, you may want to converts a large range of speed values to a range between 0.0 and 1.0 to be input into another node.
- Color Ramp Node - Useful for converting a range of [0.0 - 1.0] to a color gradient.
- Blender's Spreadsheet Editor window can be useful for verifying that attributes are being correctly added to your object. When viewing attributes on the fluid surface make sure you are viewing the Mesh Vertex data. When viewing attributes on whitewater make sure you are viewing the Point Cloud data.
This guide will provide instructions for how to quickly set up your simulation for motion blur rendering. Watch the video guide on YouTube: How to Use Motion Blur in the FLIP Fluids Addon.
Setting up motion blur rendering is a bit more involved than just enabling motion blur in the render settings. Motion blur rendering requires a geometry node setup on the fluid surface, fluid particles, and whitewater particles, and will require a workaround for stable rendering due to an open bug in Blender (T88811 03-jun-2021). The FLIP Fluids addon contains tools to help you automatically set up motion blur rendering and for starting a stable render.
-
In the FLIP Fluids sidebar menu, activate the Initialize Motion Blur operator. This operator enables all options necessary for motion blur rendering and generates the geometry node groups on the fluid surface mesh and whitewater meshes if the whitewater feature is enabled.

-
Bake or Re-bake the simulation. Baking the simulation is necessary in order to generate the motion blur data.
-
To render without crashes, rendering from the command line is necessary. The FLIP Fluids sidebar menu contains command line tools to automatically launch a cmd render processes. Note: saving the Blend file will be necessary before using these operators for render setting changes to take effect.

The Vortex Fluid Enhancements shader procedurally adds animated detail to the liquid, using the velocity attribute data of the fluid surface. The waves and ripples added by this shader move along with the flow of the liquid, forming realistic shapes and patterns that you would normally only get if the fluid resolution was much, much higher.
To use Vortex with the FLIP Fluids addon, simply connect the flip_velocity attribute from a Cycles Attribute Node to the Vortex Flow shader. Refer to the Vortex Documentation for details.
Vortex - Fluid Enhancements by Emiel Witting is available on Superhive.