Vixen
02b45cc4
csharp
public sealed class AnimationClipAsset

A whole .vxanim document: the format doc 20's E5 says did not exist.

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

Remarks

Authored clips and imported clips are the same runtime object and not the same file. An FBX produces AnimationClipData through the model importer, and nothing about that changes; what was missing is a clip somebody can write — a camera move, a door, a UI wobble, a hand-keyed idle — and that wants keys with tangents rather than baked samples. ToContent is the one-way door between them, so everything downstream of an import stays unchanged.

⚠ The frame rate is a property of the editor, not of the clip. It decides where the timeline's snap lands and what "next frame" means; the keys are in seconds and sampling is continuous, so changing it moves no key and re-times nothing. An editor that stored frames would make a clip authored at 30 play at the wrong speed on a project that later chose 60.

Why this is in the importer assembly and not in Vixen.Animation. It is the authored form, and nothing at run time reads it: the pipeline bakes it to AnimationClipContent and a build loads that. Keeping it here is what lets AnimationClipImporter see it — the editor's asset-editor assembly depends on this one and not the other way round — and it keeps the YAML parser out of a runtime assembly, which is the line Vixen.Rendering draws for the same reason.

Fields and properties (12)

  • public const int Current

    The version this reader and writer speak.

  • public const string Extension

    What an authored clip is written as.

  • public int Version

    Which version of the format this file is.

  • public string Name

    What the clip is called.

  • public float Duration

    How long it plays for, in seconds.

  • public float FrameRate

    What the timeline snaps to, in frames a second.

  • public WrapMode Wrap

    What happens when it runs past the end.

  • public string AuthoringContext

    The sequence this clip was marked up against, by asset path, or empty.

  • public List<AnimationTargetData> Targets

    What it moves.

  • public List<AnimationEventData> Events

    What it raises, in time order.

  • public List<ConstraintTagRecord> Constraints

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

  • public Dictionary<string, YamlNode> Extensions

    Metadata this build did not interpret, by kind, exactly as it was written.

Methods (5)

  • public static AnimationClipAsset FromYaml(string yaml)

    Reads YAML into a clip.

  • public string ToYaml()

    Writes it as YAML.

  • public AnimationEvent[] ToEvents()

    The events, as the runtime's own record, in time order.

  • public AnimationClipContent ToContent()

    The whole clip as the artefact a build loads.

  • public AnimationClipData ToClipData()

    Bakes the curves into the sampled channels an import would have produced.

Used by (9)

  • AnimationBinderVixen.Editor.AssetEditors
  • AnimationClipDocumentVixen.Editor.AssetEditors
  • AnimationClipImporterVixen.Editor.Assets
  • AnimationClipImporterTestsVixen.Editor.Assets.Tests
  • AnimationClipViewVixen.Editor.AssetEditors
  • AuthoringContextTestsVixen.Editor.AssetEditors.Tests
  • AuthoringTestsVixen.Editor.AssetEditors.Tests
  • ClipMetadataTestsVixen.Editor.Assets.Tests
  • TypeRegistrationVixen.Editor.Assets