Plush

AnimationBinding#

PlushEngine · Type index

Namespace: PlushEngine

Resolved shared controller/bindings snapshot; occurrences own playback, never this data.

public sealed record AnimationBinding(string Id, string ControllerId, string MeshId, string DefaultSlot, ImmutableDictionary<string, string> Clips)

Record properties#

PropertyTypeAccessConstructor default
Idstringget; init;required
ControllerIdstringget; init;required
MeshIdstringget; init;required
DefaultSlotstringget; init;required
ClipsImmutableDictionary<string, string>get; init;required

Members: Blend1D · Blend2D · Blends1D · ClipSources · Entries · Layers · Loops · Motion · Resolve · ResolveBlend1D · ResolveEntry · Sockets · States · Validate · ValidateNamedBlends

Blend1D#

public AnimationBlend1D? Blend1D { get; init; }

Blend2D#

public AnimationBlend2D? Blend2D { get; init; }

Blends1D#

public ImmutableArray<NamedAnimationBlend1D> Blends1D { get; init; }

Initial value: ImmutableArray<NamedAnimationBlend1D>.Empty

ClipSources#

[System.Text.Json.Serialization.JsonIgnore]
public ImmutableDictionary<string, MeshAsset> ClipSources { get; set; }

Initial value: ImmutableDictionary<string, MeshAsset>.Empty

The other models whose clips states use (by mesh ID); set before Validate and shipped with exported games.

Entries#

public ImmutableDictionary<string, string> Entries { get; init; }

Initial value: ImmutableDictionary<string, string>.Empty

Named entry points: a name a script can enter by, and the state it plays (a state key). The first, simple form of a transition: a shortcut to a state.

Layers#

public ImmutableArray<AnimationLayerDefinition> Layers { get; init; }

Initial value: ImmutableArray<AnimationLayerDefinition>.Empty

Loops#

public bool Loops(AnimationClipReference clip);

Whether playing a state by default loops it (states made before looping was a property always loop).

Motion#

public MotionDefinition? Motion { get; init; }

Resolve#

public string Resolve(AnimationClipReference clip);

The clip a state or slot plays, named as the rig knows it. A state may be named by its key or, when the name is unique, its name.

ResolveBlend1D#

public NamedAnimationBlend1D ResolveBlend1D(string idOrName);

ResolveEntry#

public string ResolveEntry(string name);

Sockets#

public ImmutableArray<AnimationSocket> Sockets { get; init; }

Initial value: ImmutableArray<AnimationSocket>.Empty

States#

public ImmutableDictionary<string, AnimationStateDefinition> States { get; init; }

Initial value: ImmutableDictionary<string, AnimationStateDefinition>.Empty

The states a controller defines, by state key (the same keys as Clips). Empty for bindings made before states.

Validate#

public void Validate(MeshAsset mesh);

ValidateNamedBlends#

public void ValidateNamedBlends();

AnimationBlend1D · AnimationBlend2D · AnimationClipReference · AnimationLayerDefinition · AnimationSocket · AnimationStateDefinition · MeshAsset · MotionDefinition · NamedAnimationBlend1D

Source#