The Actor Animation operator transforms actor rig particles to match pre-defined animation sequences defined in the actor particle’s corresponding tyActor object.
Play animation: plays a pre-defined animation sequences on any actor particle’s applicable actor rig particles.
Stop animation: stops the playback of any animation clips on any actor particle’s applicable actor rig particles.
Enable animation loop: enables playback looping for the actor particle’s current animation(s).
Disable animation loop: disables playback looping for the actor particle’s current animation(s).
Normalize time: normalizes the elapsed time of a particle’s animation to be between 0 and [animation length].
If an animation clip has looped, the elapsed time of the clip will be greater than the total length of the clip. For example, if an animation clip is 100 frames long but it has looped 2.5 times, the particle’s elapsed time relative to the clip length will be 250. By normalizing the time, values that overflow the length of the clip like that will be clamped to the length of the clip with a modulus operation (in that example, the elapsed time would be shifted to 50).
Include in animation: flags any previously excluded actor rig particles, so that they will be affected by their parent actor particle’s animation playback.
Exclude from animation: flags any actor rig particles, so that they will be excluded by their parent actor particle’s animation playback.
Set child coordinates: PARENT: transforms child rig particles in parent space.
Set child coordinates: WORLD: transforms child rig particles in world space.
By default, tyFlow updates rig particles by considering their relation in the corresponding tyActor objects they were derived from. If an object added to the tyActor is a child of another object added to the tyActor, tyFlow will take the local transform of the child and update the corresponding rig particle by multiplying that local transform by the particle transform of the equivalent parent rig particle. This way the hierarchy of rig particles is updated in the same manner that the hierarchy of corresponding objects is updated. However, in some situations, it is beneficial to update rig particles independent of their relative parent particle transforms (for example, if the child is a kinematic PhysX particle and the parent is a dynamic PhysX particle and they are bound together with a PhysX bind). In this situation, you can change the relative coordinate system to “WORLD” instead of “PARENT” in order to decouple their transform update.
To define multiple sequences that will be selected at random for each particle, separate names with commas.
The names of the sequences must exist in the corresponding tyActor object animation sequence list.
Random: the animation sequence for the actor will be chosen at random from the list, when the particle enters the operator.
Sequential: all animation sequences listed by the user will play through sequentially, one after the other.
Shuffle: a new animation sequence will be chosen from the list, each time the maximum number of loops is reached for the prior sequence.
In order for sequential sequences or sequence shuffling to work, operator timing must be set to “Continuous”, or a frame/event range that overlaps points in the simulation when shuffling would be expected to occur (ie, when one clip finishes playing).
After # loops: controls how many loops to play the current sequence before selecting a new random sequence when shuffling is enabled.
Blend frames: the number of blending frames to use when transitioning to a new sequence.
Blend previous animation: blending will occur from the previous sequence to the new sequence.
Blend world transforms: blending will occur from the previous particle transforms, to the new sequence.
Starting offset: define a custom starting offset for the sequence.
Loop: controls whether sequence playback will loop.
Speed: the playback speed multiplier.
Multiply speed by velocity: controls whether playback speed will be relative to particle velocity.
Velocity thresh: the velocity threshold which individual particle velocity magnitudes will be relative to.
Speed min: the minimum allowed playback speed, relative to the ratio between the velocity threshold and individual particle velocity magnitudes.
Speed max: the maximum allowed playback speed, relative to the ratio between the velocity threshold and individual particle velocity magnitudes.
Bind pose matching: bindings between particles will be directly adjusted to match relative orientations of input tyActor objects.
Spin matching: spin forces will be applied to particles in an attempt to match their orientations with the corresponding parts of the input tyActor rig.
Both: both binding adjustments and spin forces will be applied.
Increasing the value of the inertia multiplier parameter, in the global PhysX settings, will help strengthen the effect of pose/spin matching on actor rig particles.
Match strength: controls the overall strength of the chosen matching algorithm. A small value will give particles more flexibility in their dynamic motion. A higher value will cause the algorithm to match poses more forcefully.
Match blend: the rate at which previously-kinematic rig particles, or rig particles whose actor root particle is new in this operator, will blend into their match pose/spin.
Reducing the match blend value will allow dynamic PhysX particles to transition into their target poses in a smoother manner. For sufficiently smooth blending, you may need to set this value to be very low (0.01 or lower).
Reducing the kinematic blend value will allow kinematic PhysX particles to transition into their target poses in a smoother manner.