Vixen
02b45cc4
csharp
public sealed class AnimationClipContent

A compiled .vxanim: what a build loads and what a skeleton is paired with.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

The compiled form, not the authored one. An author writes curves with tangents; this holds the sampled channels those curves bake down to, and the bake happens once in the asset pipeline rather than every time a game loads a clip. The authored type lives in Vixen.Editor.Assets and a runtime never meets it — which is also what keeps the YAML parser out of this assembly, the same line Vixen.Rendering draws.

Why this exists rather than writing AnimationClipData directly. A clip is three things a player needs and AnimationClipData is one of them: the channels, the events authored beside them, and what happens at the end. Writing the channels alone would mean a game that loaded a clip by address still had to find its events somewhere else, which is the gap this row was opened to close.

⚠ No skeleton, and that is deliberate. Create resolves channels against joints by name, and a clip does not know which rig it will be played on — the same walk plays on every character that has the joints it names. So the artefact stays rig-independent and Bake is what pairs the two.

Fields and properties (8)

  • public const int Current

    The version this reader and writer speak.

  • public int Version

    Which version of the format this artefact is.

  • public string Name

    What the clip is called.

  • public WrapMode Wrap

    What happens when it runs past the end.

  • public AnimationClipData Data

    The sampled channels.

  • public AnimationEvent[] Events

    What it raises, in time order.

  • public Dictionary<string, string> Extensions

    Metadata this build did not interpret, by kind, as the YAML it was written in.

  • public List<ConstraintTagRecord> Constraints

    The constraints authored on it, in the order they were placed.

Methods (3)

  • public AnimationClip Bake(Skeleton skeleton, string? rootJoint = null)

    Pairs the clip with a rig.

  • public AnimationClip Bake(Skeleton skeleton, PriorityLadder? ladder, string? rootJoint = null, ICollection<string>? unresolved = null)

    Pairs the clip with a rig, resolving its constraints against a project's ladder.

  • public bool TrySample(string target, float time, out BoneTransform transform)

    One named target's transform at a time, without a rig.

Used by (21)

  • CharacterAnimationThirdPersonShooter
  • PlayerRigThirdPersonShooter
  • AnimationClipCacheVixen.Animation
  • AuthoringTestsVixen.Animation.Tests
  • HarnessPlanVixen.Animation
  • HarnessPlanContentVixen.Animation
  • HarnessTestsVixen.Animation.Tests
  • JointLimitTestsVixen.Animation.Tests
  • LoadPathTestsVixen.Animation.Tests
  • MoveSetCacheVixen.Animation
  • TypeRegistrationVixen.Animation
  • VariationHarnessVixen.Animation
  • Vixen_Animation_AnimationClipContentSerializerVixen.Animation
  • AnimationClipAssetVixen.Editor.Assets
  • AnimationClipDocumentVixen.Editor.AssetEditors
  • AnimationClipImporterVixen.Editor.Assets
  • AnimationClipImporterTestsVixen.Editor.Assets.Tests
  • AuthoringContextTestsVixen.Editor.AssetEditors.Tests
  • ConstraintAuthoringImporterTestsVixen.Editor.Assets.Tests
  • HarnessInputsVixen.Editor.AssetEditors
  • HarnessViewTestsVixen.Editor.AssetEditors.Tests