Animation Validation
The Core Difference: “DJ Mode”
Section titled “The Core Difference: “DJ Mode””In Maya or Blender, animation is like a reference you can peek at:
- You scrub the timeline → see the pose at that frame.
- You tweak a slider → your change applies immediately.
- Both work simultaneously, no conflict.
In RealityKit, animation is like a DJ who won’t give up the mic:
- The
AnimationPlaybackControllertakes exclusive control of animated properties. - While it’s active, your manual changes get overwritten every frame.
- You must stop the controller completely to edit manually.
Scenario: Testing a Blend Shape
Section titled “Scenario: Testing a Blend Shape”What you expect (Maya/Blender):
- Scrub to frame 60.
- See the blend shape at that frame.
- Tweak the slider to test a different value.
- Scrub to frame 80 to see another pose.
What happens in RealityKit:
- Scrub to frame 60 → ✅ Works (if controller is paused).
- See the blend shape → ✅ Works.
- Tweak the slider → ❌ Controller overwrites your edit instantly.
- You must stop the animation first → then slider works.
- But now scrubbing doesn’t show preview → you lost the controller.
The Trade-off
Section titled “The Trade-off”| Mode | Scrub Preview | Manual Sliders |
|---|---|---|
| Animation Paused | ✅ See any frame | ❌ Locked |
| Animation Stopped | ❌ Shows base pose | ✅ Full Control |
You can’t have both at once. This is a RealityKit design decision, not a bug.
Why RealityKit Works This Way
Section titled “Why RealityKit Works This Way”RealityKit is designed for runtime apps, not animation editing:
- Performance: The runtime assumes playback is authoritative.
- Blending: Multiple animations can layer (e.g., walk + facial expression).
- Continuous Time: There is no concept of “current frame”, only continuous seconds.
Practical Workaround in Preflight
Section titled “Practical Workaround in Preflight”We implemented a hybrid approach to mitigate this:
- Pause: Controller stays alive, scrubbing shows preview.
- Touch a slider: Automatically Stops controller, releases control.
- Press Play: New controller starts, scrubbing works again.
It’s not seamless like Maya, but it gives you both features with one extra click.