Custom Properties operator

The Custom Properties operator provides direct access to each particle’s custom data channels.


Operation

  • Operation list: the desired operation to perform on custom data.

SET (save to channel): Saves the selected particle properties to the selected data channels.

GET (load from channel): Applies data from the selected channels to the selected particle properties.

Data Source

  • Value Source: controls whether the values will be the particle’s own or the particle’s target.

  • Channel Source: controls whether the custom data channel will be the particle’s own or the particle’s target.

  • Target channel: the name of the custom data channel from which to read the particle’s target ID.

The data source options allow you to choose how data flows within the operator. With the introduction of particle targets, it is now possible to read data from a particle and then assign the data to a custom data channel of its target, or vice versa. So, for example, if you wanted a particle to adopt the scale of its target particle, you would have the target particle save its scale to a data channel, and then read that data into the scale value of the source particle. By default this cross-particle data sharing is disabled within the Custom Properties operator, but can be enabled using these settings.

Custom Float

Custom float values are individual numerical values composed of single floats.

  • Property list: the particle property to save/load.

  • Value: the absolute float value to save/load.

  • Variation %: the per-particle percentage of variation to apply.
  • Channel: the custom data channel to save/load values to/from.

  • Multiplier: a multiplier applied to the value.

  • Interpolation: the amount to interpolate particle properties from their previous value to the new value.

  • Variation %: the per-particle percentage of variation to apply.
  • Full interpolation on entry: when a particle’s event age is zero, its interpolation value will be temporarily set to 1.0.

In order to animate a particle property changing into the target value, set the operator’s timing to “continuous” and set the interpolation value to something less than 1. Smaller interpolation values will result in slower interpolation speeds.

  • Don’t GET if value is 0.0: when in GET mode, value assignments to particle channels will be skipped if the custom float property value is 0.0.

The default value of all custom float property channels is 0.0. In some situations, you might only want to assign non-zero values to particles. For example, imagine you use a tyProperties modifier to assign a value of 1000.0 to the “mass” custom float property channel of an input object. If you use the Custom Properties operator to assign that value to the mass property of particles, all particles whose input objects don’t have that tyProperties modifier in their modifier stack will be given a mass value of 0.0, which is undesirable (perhaps they already have default mass values assigned, in that instance). By using this setting you can avoid overwriting existing property values with 0.0.

Custom vector

Custom vector values are Point3 values, composed of x/y/z floats.

  • Property list: the particle property to save/load.

  • X/Y/Z: the absolute x/y/z values to save/load.

  • Channel: the custom data channel to save/load values to/from.

  • Multiplier: a multiplier applied to the value.

  • Interpolation: the amount to interpolate particle properties from their previous value to the new value.

  • Variation %: the per-particle percentage of variation to apply.
  • Full interpolation on entry: when a particle’s event age is zero, its interpolation value will be temporarily set to 1.0.

In order to animate a particle property changing into the target value, set the operator’s timing to “continuous” and set the interpolation value to something less than 1. Smaller interpolation values will result in slower interpolation speeds.

Custom TM

Custom TM values are Matrix3 values, composed of 4 rows of Point3 values, each composed of x/y/z floats.

  • Property list: the particle property to save/load.

  • Channel: the custom data channel to save/load values to/from.

  • Interpolation: the amount to interpolate particle properties from their previous value to the new value.

  • Full interpolation on entry: when a particle’s event age is zero, its interpolation value will be temporarily set to 1.0.

In order to animate a particle property changing into the target value, set the operator’s timing to “continuous” and set the interpolation value to something less than 1. Smaller interpolation values will result in slower interpolation speeds.

Uniqueness

  • Seed: the seed value for all varied parameters.

  • Seed by time: the seed value will be incremented with the current time in ticks.