Digital Human Pipeline

Lead 3D Artist

Maya, XGen, Unreal, 3D Zephyr


Finished digital double render

Background

An international talent agency represents models across offices in New York and overseas. Coordinating a shoot between those offices meant moving people, and that travel cost sat behind every project the two teams shared.

They came to iON Creative Studios with a question rather than a specification: could their models exist as digital replicas accurate enough to use inside real footage? I led that work as Lead 3D Artist over roughly two years.

The Challenge

MetaHuman was in beta, with no documentation and no reference workflow to adapt. The briefs described outcomes rather than technical specifications, which left the definition of accurate enough to be established through the work itself. Turnarounds ran three to five days per iteration, fast enough to punish a wrong approach and slow enough that finding one late would cost real time.

Approach

First attempt: overlaying

My first approach overlaid photos onto the MetaHuman Creator window and matched the face sliders by eye.

Original reference photo Photo overlaid on the MetaHuman Creator window Result of the overlay method
Reference photo, the overlay in progress, and the result. Close, but matching a face by eye against a flat image loses the real dimensions.

It came close without being usable, because a flat photo throws away the real measurements.

Photogrammetry

Photogrammetry gave me those measurements. I tested mobile capture apps including Polycam and Abound, but their meshes came out compressed and imported badly into Maya and Unreal.

The available tutorials all covered stationary objects rather than people. I proved the process on a bust before bringing in a live subject.

Photographing a bust from multiple angles Photo set imported into 3D Zephyr 3D Zephyr generated mesh Retopologized and cleaned in Maya Finished bust scan
Proof of concept on a bust: photo capture, point cloud in 3D Zephyr, then retopology and cleanup in Maya. Far more accurate than the in-software tools.

The first live capture came back full of holes. Reflective surfaces were the cause: the subject’s glasses and a mirror in the room. Photogrammetry solves for a fixed surface, and reflections shift as the camera moves. I cleared the room, reshot, and the second dataset processed clean.

Photographing a live subject Point cloud of the live subject Mesh processing Capture errors caused by reflective surfaces Clean capture after removing reflective surfaces
The fourth image is the reflection problem. The fifth is the reshoot with nothing reflective in the room.

Once the process held up on a live subject, I ran it across the agency's roster.

Scan imported into MetaHuman Builder Mesh fitted in MetaHuman Builder
Bringing the cleaned scan into MetaHuman Builder.
Side by side comparison of the photograph and the finished digital double
Photograph next to the finished digital double.

Hair

MetaHuman’s hair presets matched none of the models. I built every groom from scratch in Maya with XGen, working from reference photos of each subject.

XGen hair groom Hair groom, side view Hair groom, back view XGen guides in Maya XGen density and clumping settings Groom test render
Custom XGen grooms built from reference, and the guide setup in Maya behind them.

The environment

The client also specified the interior the doubles would stand in, which I modelled in Maya and brought into Unreal. That build is written up separately in 3D Environments.

A finished digital double standing in the interior built for the client
A finished double standing in the interior, which is what the environment was for.

Real-time performance

Live Link Face closed the loop, driving the facial performance onto the rig in real time from an iPhone.

Rigged digital double, animated.
The finished character running inside Unreal Engine.

Outcome

I delivered a documented pipeline the studio could run on any subject, from photographs through to a rigged character an iPhone can drive in real time:

  1. Photo capture, with a shoot setup that avoids reflective surfaces
  2. Point cloud generation in 3D Zephyr
  3. Retopology and mesh cleanup in Maya
  4. Integration into MetaHuman Builder
  5. Custom XGen hair groom from reference
  6. Placement into an Unreal environment
  7. Live Link Face for real time performance

It ran across multiple subjects on the agency’s roster over roughly two years. No performance metrics were captured, so the lasting outcome is the capability itself: a repeatable process, written down, that the studio did not have before.