Color Mapper
The Modifier offers two modes for using the calculated colors:
- Color: The calculated colors are used directly to color the particles.
- Custom: The calculated color values can be transferred to a user property. This means that the particles do not change color. Custom properties can be created via the Scene Settings themselves in order to give the particles their own data packets, which can then be read or written via some conditions and modifiers. The custom property should use the data type ColorA so that the color values are not converted. If you select this mode, you will find a text field directly below in which you can enter the name of your custom property that is to save the color values. However, it can be even quicker to activate the small drop-down menu to the right of this name field. You will find a list of the created user properties for direct selection.
This mixing value can be used to control how strongly the current color of the particles is to be influenced by the modifier. At a value of 0%, the particles retain their current color; at a value of 100%, the colors of the modifier are completely transferred to the particles. Intermediate values lead to a corresponding blending of the color values.
Here you can select how you want to distribute color values to the particles:
- Property: In this mode, you can select a particle property by which you want to assign the colors. For example, you can then recolor particles according to their age or based on their speed.
- Fields: You can link Field objects that can, for example, be used to implement local color changes or even entire color gradients within a particle stream.
- Noise: In this mode, colors can be read and assigned from a color gradient using common noise patterns.
After selecting Source Property, select the property that you want to output and use for assigning colors. The following properties are available:
- Age: The age of the particles measured in frames. This is always between 0 and the maximum Lifetime of the read particle.
- Alignment: The alignment is output relative to an axis direction of the Condition object as a single angle. Use the separate Extract menu to define this axis direction.
- Angular Velocity: Various components of the rotation speed can be output via the Extract setting.
- Color: The red, green, blue and alpha components of the particle colors can be output individually.
- Distance Traversed: This is the distance a particle has traveled since it was created.
- Lifetime: This queries the maximum Lifetime of each particle. This property is often assigned directly by the Emitter when a particle is created.
- Position: This can be used to query the distance of the particles or their global X, Y and Z position components.
- Radius: The Radius property of the particles.
- Velocity: A vector that indicates the global flight direction of the particles.
- Custom: In this special mode, the values saved in user-defined user properties can also be output. These must first be created in the Scene Settings. Values in these user properties can, for example, be changed with Math or Data Mapper Modifiers or within Particle Node Modifiers with Set Custom PropertyNodes.
When this mode is activated, a text field with a drop-down menu appears on its right-hand side. You can use this to display a list of the user properties already created, from which you can also select the desired property. Alternatively, if you know the name of the property, you can also enter its name directly in the name field. For more complex data types, you can use the subsequent Extract setting to select which component of a vector is to be output, for example.
Some properties are already automatically available when processing liquid particles:
When using liquid particles, their most important properties are automatically available as user properties (demonstrated here using the example of a Data Mapper Modifier).These special properties can be used to change a liquid over time, for example, or to keep it dependent on other properties of the simulation. Liquid particles can be generated directly with the Liquid Fill Emitter or by converting standard particles with a Liquify modifier. Please note that many of the user properties listed below can also be changed at any time using a Liquify modifier.
These properties are automatically available for this purpose:- Liquid Contribution [Floating Point]; This value is between 0 and 1 and indicates whether a particle only has to adhere to the forces, conditions and modifiers of the particle simulation (value = 0) or whether it is a liquid particle (value = 1) for which additional forces, such as gravity and forces between neighboring liquid particles, apply. By changing this value, particles can therefore switch continuously between the properties of "normal" particles and the properties of liquid particles.
- Viscosity [Floating Point]: This value describes the flow resistance of the liquid. Small values make a liquid appear watery and thin, higher values make the simulation appear viscous and honey-like.
- Surface Tension [Floating Point]: This describes the Surface Tension of the liquid. With increasing values, the liquid particles tend to clump together more strongly. This can be used, for example, to obtain larger individual droplets. It should be noted that this property also depends on the existing particle density (Target Density).
- Target Density [Floating Point]: This describes the particle density per unit volume that the simulation should achieve as far as possible. A higher particle density per volume has an effect in combination with other dynamic simulation objects, for example. A liquid with a higher density can then exert a stronger force on clothing or rigid body objects.
The forces acting between the liquid particles also depend on this density. If more particles are drawn together in the same space, the surfacetension can also show stronger effects. In addition, within the same simulation, a liquid with a lower density will always float on a liquid with a higher density, just as oil floats on water, for example. - Ease In [Floating Point - Time]: This value specified in simulation images describes the time it takes for the particles to change from normal particle properties, e.g. specified by the emitter and influenced by particle modifiers, to characteristic liquid properties. Since pure liquid particles can react extremely to overlapping radii during formation at the emitter, for example, this transition time can be used to mitigate the repulsion of colliding liquid particles at the emitter.
- Mixture [Index]: All particles with the same Mixture ID value are simulated as one liquid. Liquid particles with different Mixture ID values can no longer be mixed freely and therefore remain separate from each other within the simulation.
- Friction [Floating Point]: This value relates to the interaction of the liquid with collision objects, e.g. objects that have a Collider Tag. The value then describes the energy loss due to friction that the liquid suffers during contact with the collision object. Please note that the actual friction and the actual energy loss are also influenced by the Friction value on the Collider Tag. The friction of the liquid is only taken into account if the collision object also has friction.
- Stickiness [Floating Point]: This value relates to the interaction of the liquid with collision objects, e.g. objects that have a Collider Tag. The value then describes the stickiness of the liquid to the collision object. Please note that the stickiness is also influenced by the Stickiness value on the Collider Tag. The Stickiness of the liquid is only taken into account if the collision object also has Stickiness values above 0.
- Interaction Mass [Floating Point]: This value specifies the mass of the fluid particles. The mass plays a role above all in the interaction with other dynamic simulation objects, because together with the speed of the particles, this results in the force that the particles can exert. Particles with a larger mass can, for example, deform simulated substances more strongly or move rigid bodies more easily.
- Damping [Floating Point]: This percentage value describes the energy loss within the fluid simulation. The greater the damping, the slower the fluid particles move and the faster strong accelerations are reduced. Damping can therefore prevent the simulation from 'exploding', but also leads to a strongly decelerated and unnatural behavior of the fluids if the values are too high, which in extreme cases can then be completely frozen.
- Density [Floating Point]: This value is only intended for the output and can therefore not be written to the liquid particles. This is the current density of the liquid in the vicinity of the respective particle. For particles in the core area of a liquid, this value should therefore be relatively close to the desired Target Density.
The effect of these properties on the liquid simulation can be read in the description of the Liquid Fill Emitter, among other things.
The following three properties can already be queried in a converted form:
- Age Percentage: The age of the particles measured in images is divided by their maximum Lifetime. This results in a percentage value that shows the current age of each particle as a value between 0% (newly created particle) and 100% (particle at the end of its life).
- Angular Velocity: Calculates an angle that indicates the rotation speed of a particle per second.
- Velocity Speed: This is the current airspeed of the particles per second.
The properties output, which are defined by a vector, also offer this menu for reading out individual components or calculating individual angles relative to specific axis directions. The following particle properties are affected:
- Property: Align
- Forward Dot Product: The angle between the Z-axis of the Modifier object and the Z-axis of the particle system will be calculated. For clarification, an orange line or a correspondingly colored cone will be drawn along the Z-axis of the modifier.
- Up Dot Product: The angle between the Z-axis of the Modifier object and the Y-axis of the particle system is calculated. For clarification, an orange line or a correspondingly colored cone will be drawn along the Z-axis of the modifier.
- Side Dot Product: The angle between the Z-axis of the Modifier object and the X-axis of the particle system will be calculated. For clarification, an orange line or a correspondingly colored cone will be drawn along the Z-axis of the Modifier.
- Property: Angular Velocity
- X, Y, Z: The global X, Y or Z component of the direction vector of the particle rotation axis will be output here.
- Length: This is the degree of the angle of rotation, i.e., the speed of the particle rotation expressed as an angle per second.
- Dot Product: The angle between the Z-axis of the Modifier object and the rotation axis of the particle is calculated. For clarification, an orange line or a correspondingly colored cone will be drawn along the Z-axis of the modifier.
- Property: Color
- R, G, B: The red, green or blue color components of the particles will be output here.
- A: The alpha portion of the particle color.
- Property: Position
- X, Y, Z: The global X, Y or Z component of the position vector of the particles will be output here.
- Length: This is the distance of the particle from the world origin, i.e., the global position 0,0,0
- Dot Product: The angle between the Z-axis of the Modifier object and the line connecting each particle to the world origin is calculated. For clarification, an orange line or a correspondingly colored cone will be drawn along the Z-axis of the modifier.
- Property: Velocity
- X, Y, Z: The global X, Y or Z component of the velocity vector of the particles will be read out here. This is a proportion of the flight direction.
- Magnitude: This is the flight speed of the particles.
- Dot Product: The angle between the Z-axis of the Modifier object and the flight direction of each particle is calculated. For clarification, an orange line or a correspondingly colored cone will be drawn along the Z-axis of the modifier.
- Property: Custom with data type vector
- X, Y, Z: Here you can output the individual components of the vector.
- Length: This is the length of the vector.
- Dot Product: The angle between the Z-axis of the Condition object and the vector is calculated. For clarification, an orange line or a correspondingly colored cone will be drawn along the Z-axis of the Condition.
- Property: Custom with data type Color
- R, G, B: The red, green or blue color components of the user property are output here.
- A: The alpha portion of the user property.
- Property: Custom with data type quaternions
- Forward Dot Product: The angle between the Z-axis of the Condition object and the Z-axis of the user quaternion system is calculated. For clarification, an orange line or a correspondingly colored cone will be drawn along the Z-axis of the Condition.
- Up Dot Product: The angle between the Z-axis of the Condition object and the Y-axis of the user quaternion system is calculated. For clarification, an orange line or a correspondingly colored cone will be drawn along the Z-axis of the Condition.
- Side Dot Product: The angle between the Z-axis of the Condition object and the X-axis of the user quaternion system is calculated. For clarification, an orange line or a correspondingly colored cone will be drawn along the Z-axis of the Condition.
The range of values to be converted is defined via the following Lower and Upper values. This mode defines how these limit values are to be determined or specified:
- Constant: You enter your own values for Lower and Upper, which are then compared with the actual values of the particles and used accordingly to calculate the Target Property. Read the following description of the Lower/Upper values to find out how these are included in the color calculation.
- Adaptive: The minimum and maximum values of the selected property (see Source, Property and Extract settings) are automatically calculated for the current animation frame and automatically used for Lower and Upper. As this calculation is carried out again for each animation frame, there may be greater fluctuations in the output values. To avoid this, a Snapshot button is also enabled in Adaptive mode. Pressing this button transfers the currently calculated minimum and maximum values of the particles directly to the input fields for Lower and Upper and then switches back to Constant Range Mode. For this to work, you must ensure that particles are present. The simulation should therefore have already run at least a few animation frames.
This button is only available in Adaptive Range Mode and automatically transfers the minimum and maximum values of the particles in the current animation frame to the input fields for Lower and Upoer. The system then automatically switches to Constant Range Mode. This guarantees a fixed color output for the particles, even if the queried value range on the particle stream changes during the simulation.
The read particle property (Source Property) will be compared as a value with these two inputs. If the value read is identical to Lower, the color value will be read from the left edge of the Gradient. If the amount of the queried particle property is at the Upper value, the color value will be read from the right edge of the Gradient. For the values in-between, the colors at the relatively matching point of the color gradient will be used. Use the Repeat option to define what should happen if the queried particle properties return values outside of this range.
Please also note the Range Mode setting described above, which also allows you to use automatically calculated limit values for Lower and Upper.
Here, a color gradient between the Y positions -50 cm and +50 cm will be applied to the particles.
In this area, enter the colors and, if applicable, the alpha values that you want to use. In some cases, additional variations can be added by activating the Noise functions. The color gradient used for this will also be used as a control element in many other places in Cinema 4D. If you would like to read about its functions again here, simply open the following section.
This option is only available for Source Property and refers to the Lower and Upper value limits used. If this option is disabled, read-out particle property values are automatically limited to the value range between Lower and Upper. This means that the color gradient will only ever be assigned once.
After activating the option, the color gradient may also be repeated if particle properties provide greater values than those defined for Upper. The following image shows an example. There, the Y-positions of the particles were output, which lie between -50 cm and + 50 cm. By using Lower -25 cm and Upper +25, the process will be repeated for the particles above 25 cm. The Repeat option will not change anything for particles that are below the Lower.
Here, a color gradient between the Y positions -25 cm and +25 cm will be applied to the particles. Left without, right with repetition, whereby the particle flow lies between -50 cm and + 50 cm on the Y-axis.
Only the alpha values of the color gradient will be transferred to the particles.
This area will only appear if Source Field is activated and enables the use of Field objects to assign individual colors and color gradients to a limited area. Fields offer a wide range of shapes and also allow shaders and audio files to be evaluated, for example. In addition, several fields can be combined to use even more complex criteria for color assignment.
Here, a Sphere Field was given a color gradient and placed in the particle stream.
The operation of this area and the available objects and options correspond to the identical operating elements that you can also find on the Deformers, for example. Follow these links to find out everything you need to know about Fields and how to use them:
If required, you can read all about the various Field objects here.
How to use the Fields area is documented here.
The accuracy of field sampling can be adjusted via the Field Sampling Variation in the Particle Simulation settings.
These settings can be used in the Source Property to calculate random variations for the colors and alpha values of the gradient. As long as extreme contrasts are not used here or the Uniform per Channel option is disabled, the colors of the gradient will be largely retained and only the brightness or saturation will be changed slightly. If Uniform per Channel is disabled, there may also be extreme color deviations from the original colors of the gradient.
Here, a color gradient is applied to the particles along the Y-axis using the Source property. The Noise option is also activated. On the left, the Uniform per Channel option is disabled, on the right it is enabled.
The same Noise settings are also available with Source Noise. However, there is no orientation towards particle properties. The Noise pattern generates brightness values, which are then used to read the colors and alpha values from the color gradient and transfer them to the particles. Depending on the range of brightnesses in the noise, it can also happen that the colors are taken from the middle of the gradient and less often from the edges, which are only reached by very light and very dark Noise colors. This can be remedied by increasing the Contrast value for the Noise. The following image also gives an example of this.
Here, the color values are selected using the selected noise pattern with Source noise. On the left a noise with low Contrast, on the right with high contrast.
The noise values can be calculated in two different ways via the setting for the Noise Sampler: Based on the Position values of the particles (this is the default behavior of older Cinema 4D versions) or individually based on an assigned Custom property (from C4D version 2025.2).
This option must be enabled so that a noise structure will be used to vary the color and alpha values of the color gradient (Property Source) or a color selection can be made according to the brightness values of the noise structure (Noise Source).
The calculation of the noise pattern is based on this value. A change in the Seed value will also leads to a recalculation of the selected noise structure.
Here you can choose the desired pattern. These are three-dimensional structures that can be conimaged with individual scaling along all axis directions. It is also possible to change these patterns automatically:
This defines the amount of detail in the noise structure. Larger values create correspondingly more variations in the pattern. Small values lead to a loss of contrast and details, as well as to a softening of the structure. This setting option is not available for the noise types Box, Cell, Mod. Noise, Perlin and VL Noise.
You can use these values to scale the noise structure individually along the three spatial directions. Proportional scaling is also possible via the Scale value.
This allows the noise to be scaled proportionally. Individual scaling for each of the three axis directions is also possible via Relative Scale.
The noise structures can also be changed over time. Use this value to define the speed of these changes. By default, 0 is used here, which results in a static structure.
Almost all noise types (exception: Electric and Gas) have this parameter, which loops the noise after the defined time in seconds (Animation Speed must be greater than 0). The noise state will then be repeated every second entered. A value of 0 turns this effect off.
When activated, an ascertained noise value will be used simultaneously for the red, green and blue color components, as well as the alpha values. This often only leads to a change in color brightness and saturation. If the option is disabled, individual noise brightnesses will be calculated for each of the three color components and the alpha value. This can also lead to stronger color value deviations and colors may appear that are not used in the process.
These two parameters are used to move the noise through the 3D space. Movement is a direction vector that you use to define the direction in which the noise should move. They then use Speed to regulate the displacement speed of the noise structure.
This can be used to limit the brightness values that the noise should provide. By default, Low Clip is 0% and High Clip is 100%. This means that all brightnesses can be output uncropped between 0% and 100% by the noise. Increasing the Low Clip means that all brightnesses whose brightness is lower than defined for Low Clip are already output as black. Similarly, reducing High Clip results in gray values above the brightness of High Clip being output as white
In fact, this mechanism can be used not only to sharpen a noise structure and to strengthen the contrast, but also to invert the brightness values. To do this, simply reverse the original arrangement of the clipping values. With Low Clip 100% and High Clip 0%, you get an inverted noise.
This can be used to adjust the general brightness value of the noise. Values above 0% increase the brightness, values below 0% reduce it.
This lets us reduce or increase the contrast of the Noise brightnesses. Contrast describes the range of brightness values. With a low contrast, the differences between the Noise brightnesses supplied will be smaller. Greater Contrast leads to greater differences in brightness between the noise brightnesses supplied. This often results in the brightness transitions being more abrupt and less smooth compared to using a lower Contrast.
Here you specify how the noise is to be read out. There are two options to choose from:
- Position: The position of each particle is transferred to the three-dimensional noise structure in order to determine the color values there. This is the standard behavior in older Cinema 4D versions. The particles practically move through the noise structure and extract the noise values at the corresponding positions.
- Custom: This mode is available from C4D 2025.2 and allows the assignment of custom properties in Vector data format with the unit Meter. This makes it possible to address individual noise positions for each particle, regardless of its position in space.
The following video shows examples of this. The classic Position sampling can be seen on the left. The particles practically move through the noise structure and are colored according to their positions. To the right, a custom property with Vector - Meter data type was created in the particle simulation settings and filled with only the X and Y components of the particle positions using two Math modifiers. The Z component of this custom property therefore generally remains 0. If this custom property is now specified as a Noise Sampler, practically only a 2D slice of the noise structure is sampled by the particles. The colorations remain correspondingly more constant here.

