Case study — 01

House of the Dragon

Real-time AR previz — Season 3, HBO

Client
HBO
Studio
Pixomondo — Sony Pictures Entertainment
VFX Supervisor
Dadi Einarsson
Virtual Production Supervisor
James Thompson
Role
AR application — development & on-set operation
Rig
iPad Pro / iPhone Pro with LiDAR
Stack
Swift · SwiftUI · Liquid Glass · ARKit · RealityKit · Reality Composer Pro
House of the Dragon — an armoured commander advancing across a battlefield, house banners behind the line
House of the Dragon — HBO

A fully native iOS and iPadOS application that put a live 3D previz of the dragon into the shot on set, so the crew could judge scale, staging and lens before a single frame was rendered.

The brief

A lot of scenes in House of the Dragon are built around a creature that isn't there on the day. How big is the dragon in this frame? Where exactly is it fighting? Is this the right lens for the shot?

Those are questions the DoP, the director and the VFX supervisor are asking each other while the clock runs — and until the shot comes back from post, everyone is answering them from memory. Real-time visualisation of the CG asset turns that guesswork into something you can look at.

Why native

I developed the application at Pixomondo, fully native: ARKit 6 for camera and motion tracking, RealityKit for rendering.

That choice is the whole argument. Going native means every Apple API the moment it ships — no bridge to write, no waiting on a third party to expose it. Unreal Engine still only supports ARKit 4, and on Unity you wait until Unity decides to surface the API. On a production that needs the newest tracking the hardware can do, that gap is the difference between a tool that works on the day and one that doesn't.

The interface benefits too. SwiftUI and Liquid Glass are quick to build with and give the app the premium, native feel a crew expects from something they are handed on set.

The pipeline

Getting an animated dragon from the previz department onto an iPad runs through four stages:

  1. Maya — the previz team builds the animated sequence.
  2. Unreal Engine — the animation comes across as FBX. I play the animation back in Sequencer, where I can see the camera position, the dragons and the set — the castle, say — and add or change elements where the shot needs it. Then I export, either element by element or as a whole scene, in USD.
  3. Reality Composer Pro — the assets come back in, and I check that animation and placement survived the trip. Then out as USDZ.
  4. The app — the USDZ is imported, and the dragon is ready to stand in the shot.

The dragon assets are under NDA, so there are no screenshots of the app with them in frame. The diagram below shows the pipeline instead.