Fighting Game · Guides & deep dives

Sequencer Animation Clip Tracks

start frame, duration frames, blend-in frames, blend-out frames, playback rate, slot name, looping flag, and root-motion flag.

5sections2 minread

On this page

This document records the TODOS.phase-72.72.15.1.5 cinematic sequencer animation clip track contract. Animation clip tracks bind a skeletal mesh component to one or more animation clips, trigger those clips from timeline frames, and evaluate blend-in/blend-out weights for overlap and transitions.

Runtime Ownership#

  • Runtime module: V2Cinematics
  • Clip spec: FV2SequencerAnimationClipSpec
  • Clip playback row: FV2SequencerAnimationClipPlayback
  • Track evaluation: FV2SequencerAnimationClipTrackEvaluation
  • Issue enum: EV2SequencerAnimationClipIssueType
  • Issue struct: FV2SequencerAnimationClipIssue
  • Automation: V2.Cinematics.Sequencer.AnimationClipTracks
  • CI checker: V2/ue/Tools/check-v2-sequencer-animation-clip-tracks.py

Clip Model#

FV2SequencerAnimationClipSpec stores a stable clip id, animation asset path, start frame, duration frames, blend-in frames, blend-out frames, playback rate, slot name, looping flag, and root-motion flag. It exposes helpers for end frame, frame containment, blend weight, and validation.

FV2SequencerTrackSpec now carries SkeletalMeshComponentId and AnimationClips for EV2SequencerTrackType::Animation tracks. This keeps animation clips in the same track hierarchy as keyframes, property tracks, and playback.

Default Fixture#

BuildDefaultSequencerAnimationClipTrack creates Track.Animation.Cassia.Body, bound to Binding.Actor.Cassia and Component.Mesh.Body. The track contains:

  • Clip.Cassia.CouncilIdle, starting at frame 0 with 12-frame blend in/out.
  • Clip.Cassia.CinematicReady, starting at frame 84 with 12-frame blend in, 18-frame blend out, and root motion enabled.

The overlap around frame 90 evaluates both clips as active so callers can blend idle out while blending cinematic-ready in.

Evaluation#

EvaluateSequencerAnimationClipTrack validates animation-track type, binding id, skeletal mesh component id, clip inventory, clip asset paths, frame ranges, playback rates, and blend windows. At a frame it returns active clip playback rows with local frame, blend weight, slot, playback rate, trigger flag, blend-in/blend-out flags, looping state, and root-motion state.

Verification#

Run:

bash
python3 V2/ue/Tools/check-v2-sequencer-animation-clip-tracks.py

Adjacent verification should include python3 V2/ue/Tools/check-v2-sequencer-property-tracks.py, python3 V2/ue/Tools/check-v2-sequencer-keyframe-interpolation.py, python3 V2/ue/Tools/check-v2-sequencer-timeline-playback.py, python3 V2/ue/Tools/check-v2-sequencer-data-model.py, and python3 V2/ue/Tools/check-v2-cinematics-module.py.