Fighting Game · Guides & deep dives

Sequencer Viewport Preview

the active camera binding and FOV, evaluated keyframed track states, active audio cues, crossed event markers, timeline frame/time, and validation issues for the 3D viewport overlay.

4sections2 minread

On this page

Task: TODOS.phase-72.72.15.2.5

The sequencer viewport preview is represented by a V2Editor TimelineVisualizer panel spec, frame request, and deterministic preview model. It lets editor UI show real-time preview in the 3D viewport while the timeline is playing or scrubbing.

Runtime API#

  • Panel spec: FV2SequencerViewportPreviewPanelSpec
  • Request: FV2SequencerViewportPreviewRequest
  • Camera state: FV2SequencerViewportPreviewCameraState
  • Track state: FV2SequencerViewportPreviewTrackState
  • Audio cue state: FV2SequencerViewportPreviewAudioCueState
  • Event state: FV2SequencerViewportPreviewEventState
  • Model: FV2SequencerViewportPreviewModel
  • Issue enum: EV2SequencerViewportPreviewIssueType

BuildSequencerViewportPreviewModel evaluates the current frame against FV2SequencerSequenceSpec and FV2SequencerInterpolationSpec data. It exposes the active camera binding and FOV, evaluated keyframed track states, active audio cues, crossed event markers, timeline frame/time, and validation issues for the 3D viewport overlay.

Behavior#

  • Real-time preview marks bRealtimePreviewActive from the request's playing state while preserving scrubbed preview through the same model.
  • Timeline sync records current and previous frames, normalized position, time, playback rate, and looping state.
  • Camera preview resolves full camera tracks through EvaluateSequencerCameraTrack and falls back to camera keyframe/property tracks such as Track.HeroCamera.FOV.
  • Track states use EvaluateSequencerKeyframeInterpolation for transform, camera, property, and keyframed event tracks.
  • Audio overlays use EvaluateSequencerAudioTrack to expose active cues, bus, local frame, volume, pitch, and trigger state.
  • Event overlays use EvaluateSequencerEventTrack when event trigger tracks are present and also surface crossed keyframed event markers from the default data model.
  • Validation reports invalid sequences, invalid requests, out-of-range frames, missing camera preview state, and failed track evaluations.

The default QA fixture uses Seq.DataModel.CouncilIntro, frame 60, previous frame 20, active camera binding Binding.Camera.Hero, audio cue Cue.CouncilTrial.OminousMusicSwell, and event keyframe Key.Global.Event.CameraCut.

QA Inventory#

  • Timeline sync: verify frame 60, previous frame 20, time 1.0, realtime active state, and looping state.
  • Camera: verify active camera binding and evaluated FOV from the hero camera FOV track.
  • Track states: verify Cassia transform interpolation at frame 60.
  • Audio overlays: verify the active music cue and cinematic audio bus.
  • Event overlays: verify the crossed camera cut event keyframe.
  • Off-path: reject invalid frames, invalid playback rates, and missing camera tracks.

js_repl Playwright interaction was unavailable in this session and the affected surface is Unreal editor data rather than browser-rendered UI, so verification is through UE editor automation and contract gates.

Verification#

  • python3 V2/ue/Tools/check-v2-sequencer-viewport-preview.py
  • V2.Editor.Sequencer.ViewportPreview
  • python3 V2/ue/Tools/check-v2-editor-module.py
  • python3 V2/ue/Tools/check-v2-ci-workflow.py