Class TransformRotationSequenceLayerSO
Procedural layer that animates through a sequence of local-Z-rotation steps. Applies rotation changes via TransformDelta for per-instance animation.
Common applications: wiggle/shake reactions, a retro spinning pickup icon, rumble/jitter.
Inherited Members
Namespace: Serenity.ProceduralAnimator.Infrastructure.ProceduralLayers
Assembly: Serenity.UnityProceduralAnimator.Infrastructure.dll
Syntax
public class TransformRotationSequenceLayerSO : ProceduralLayerSO, IProceduralLayer<UnityProceduralContext>, IFoundationSettings
Remarks
Known pre-existing quirk (not introduced or fixed here): a finite-repeat ON_ACTIVATE
sequence that expires mid-seam can show a one-frame snap on its final tick, because
ProceduralAnimatorComponent calls Evaluate before
ProceduralLayerWeightScheduler.DeactivateLayersPastTheirRepeatWindow in the same
frame — the layer still evaluates (and can land mid-wrap) one frame before the lifetime tick deactivates
it. Left as-is; this is an ordering issue in the animator's tick, not in this layer's angle math.
Constructors
TransformRotationSequenceLayerSO()
Declaration
public TransformRotationSequenceLayerSO()
Properties
DrivenChannels
Writes only Transform — see the 3-delta Evaluate(in UnityProceduralContext, float, ref PoseDelta, ref MaterialDelta, ref TransformDelta) override below.
Declaration
public override ProceduralChannels DrivenChannels { get; }
Property Value
| Type | Description |
|---|---|
| ProceduralChannels |
Overrides
SequenceDurationSeconds
The sum of all step durations — one full pass through the sequence. Used together with RepeatCount in ON_ACTIVATE mode to know when the sequence has repeated enough times to auto-deactivate.
Declaration
public override float SequenceDurationSeconds { get; }
Property Value
| Type | Description |
|---|---|
| float |
Overrides
Methods
Evaluate(in UnityProceduralContext, float, ref PoseDelta)
Legacy pose-only evaluation. Does nothing for transform layers.
Declaration
public override void Evaluate(in UnityProceduralContext ctx, float weight, ref PoseDelta pose)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityProceduralContext | ctx | |
| float | weight | |
| PoseDelta | pose |
Overrides
Evaluate(in UnityProceduralContext, float, ref PoseDelta, ref MaterialDelta, ref TransformDelta)
Evaluates the rotation sequence and adds the current local Z rotation to the transform delta.
Declaration
public override void Evaluate(in UnityProceduralContext ctx, float weight, ref PoseDelta pose, ref MaterialDelta material, ref TransformDelta transform)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityProceduralContext | ctx | |
| float | weight | |
| PoseDelta | pose | |
| MaterialDelta | material | |
| TransformDelta | transform |
Overrides
OnLayerActivated()
Optional initialization called when the layer becomes active. Override to set up any required runtime state.
Declaration
public override void OnLayerActivated()