Tutorial — ZBrush No-Topology-Change Round Trip
Augmented Traveler local tutorial. Back to ZBrush — Tutorials · rules: ZBrush — Sculpting for MetaHuman (part B) · Maya side: Tutorial — Expression Editor Fundamentals
How to take a rigged MetaHuman head out of Maya, sculpt likeness corrections in ZBrush, and bring it back with the same number of vertices in the same order. The Expression Editor can only read the change if nothing about the mesh's structure has changed. If the vertex count or order changes, the rig breaks.
Draft. Validate on the first figure and correct menu names here.
1. The rule
Move points. Never add, remove, weld or reorder them.
These operations break the round trip. Don't use them on this mesh:
| Area | Breaking operations |
|---|---|
| Remeshing | DynaMesh, ZRemesher, Decimation Master, Sculptris Pro |
| Geometry | Close Holes, Delete Hidden, Del Lower at export, Weld, Mirror And Weld, Edge Loop, ZModeler insert or delete, Crease plus Divide without Smt at export |
| Subtools | Split, Merge, Extract on the head subtool |
| Transform | Unify, Size, or moving or rotating the whole tool. These don't change vertex order, but they move the mesh away from the rig's joints |
2. Get the head out of Maya
- In the Expression Editor session (Tutorial — Expression Editor Fundamentals), switch to Neutral Pose mode on LOD0.
- Duplicate the LOD0 head mesh and delete its history. Keep the original untouched.
- Export Selection → OBJ:
- groups on;
- point groups, materials and smoothing off;
- normals may be on (ZBrush ignores them).
- Also export the eyes and teeth as separate OBJs, for reference only. Don't sculpt them; their positions come from joints.
3. Set up in ZBrush
- Tool → Import the head OBJ as a new tool. Import the eyes and teeth as subtools for context only.
- Check the vertex count (Tool → Geometry, or the point count in the title bar). It must match the Maya count exactly. Write it down.
- Run Tool → Geometry → Mesh Integrity → Check Mesh Integrity. Don't let it "fix" anything if it would change the points; just note what it reports.
- Store a morph target (Tool → Morph Target → StoreMT). You can always compare or morph back to the original.
- Turn on symmetry only if the mesh is symmetrical. The MetaHuman head is; the sculpt may later become asymmetrical by design.
4. Sculpt on layers
-
Subdivide: Tool → Geometry → Divide with Smt on, 3–4 times, so you can sculpt smoothly. Subdividing is safe because you return level 1.
-
Make a layer (Tool → Layers → New) for each purpose:
neutral_likenessfor the main correction;neutral_agefor age-specific soft tissue;- optionally
expr_<name>if you sculpt a target expression for the Expression Editor.
-
Sculpt with Move, ClayBuildup, Standard, Inflate and hPolish. Mostly move volume:
- cheek fat, brow, jawline, nose shape, lip volume, eyelid fullness.
-
Respect the landmarks:
- eyelid-edge vertices stay on the lid edge;
- lip-line vertices stay on the lip line;
- eye corners and nostrils stay put.
Don't slide points across a feature. Use Move Topological or masking to control this.
-
Keep the change small. If a correction is large (a different nose, a wider skull), go back to Mesh to MetaHuman or Creator instead (Tutorial — Obtaining Initial Head DNA).
-
Detail stays in maps. Pores and wrinkles on the high levels are fine; bake them to normal or displacement maps. Only level 1 goes back to Maya.
5. Send it back
- Go to subdivision level 1 (Tool → Geometry → Lower Res to SDiv 1). Don't delete the higher levels.
- Set the layer strengths you want (usually 1.0). Bake them with Layers → Bake All on a copy of the tool if you need to.
- Tool → Export as OBJ, for example
AT_<Figure>_neutral_v###.obj. Check that the export scale and axis flip options match what you imported (Preferences → Import Export). - Check the vertex count again. It must match the number from step 3.2.
GoZ is fine for a quick look in Maya. But GoZ can rename objects or create new nodes, so for the real transfer use OBJ and Transfer Vertices (below).
6. Bring it into the Expression Editor
- In Maya, Import the OBJ. Don't merge it into the existing object.
- Quick check for broken vertex order: create a blendShape from the imported mesh onto a duplicate of the original LOD0.
- If Maya refuses, the vertex counts differ.
- If the shape explodes into spikes at weight 1, the vertex order changed.
- Either way, stop and go back to ZBrush.
- In the Expression Editor (Neutral Pose, LOD0), select the LOD0 mesh first, then the imported sculpt, and click Transfer Vertices.
- Click Update Vertices. This writes the change to the DNA in memory and refits the surface and volume joints.
- If you moved the eye area or mouth, check the volume joints (eyes, jaw) and place them by hand where needed.
- Save with LOD spreading, reload the DNA, and test the key expressions: blink, smile, jaw open and brow raise.
7. Repeat passes without starting over
- Keep the ZBrush tool with all its subdivision levels and layers.
- To pull Maya-side changes back into ZBrush: go to level 1 and use Tool → Import with the Maya-exported OBJ. At level 1, ZBrush replaces the base shape and keeps the higher levels, as long as the vertex count and order match.
- Version every pass (
_v002,_v003) and log what changed and why in the likeness log.
8. Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Point count differs on import | A breaking operation, or hidden or masked points deleted | Go back to the stored tool; don't use the breaking operations |
| Spikes or explosion in the blendShape test | Vertex order changed (often an FBX/OBJ setting, or Merge/Split) | Re-export as OBJ from the original tool at level 1 |
| The head moved or scaled in Maya | Unify, Size or a tool transform used, or the import/export scale changed | Reset the scale in ZBrush's Import/Export preferences; don't transform the tool |
| Expressions look wrong after Update Vertices | Landmarks slid, or too large a change | Reduce the change; restore the eyelid and lip lines; do large changes through Mesh to MetaHuman |
| Eyes poke through the lids | Lids sculpted without checking the eyeballs | Sculpt with the eye subtools visible; re-place the eye volume joints |
9. Practice exercise
- Export LOD0 from a test MetaHuman.
- In ZBrush, add slight cheek fullness on a layer. Return level 1.
- Pass the blendShape test, then Transfer Vertices and Update Vertices.
- Save and reload, then check blink and smile.
- Deliberately DynaMesh a copy and try to bring it back, to see the failure for yourself.
Next: single expressions → Tutorial — Sculpting Expression Targets for the Expression Editor · detail maps → Tutorial — Baking Detail Maps for MetaHuman
Sources
- Novedge, ZBrush morph target export best practices (topology locking, Mesh Integrity): https://novedge.com/blogs/design-news/zbrush-tip-zbrush-morph-target-export-best-practices
- Epic, Neutral Pose editing (Transfer Vertices, Update Vertices): https://dev.epicgames.com/documentation/metahuman/neutral-pose?lang=en-US
- Epic, Expression Editor: https://dev.epicgames.com/documentation/en-us/metahuman/expression-editor
- Sandfall Tuts, MetaHuman to ZBrush without breaking the rig (video): https://www.youtube.com/watch?v=IkLcTS4KFNo
- Full list: Sources — 2026-09-19