DNA is an integral part of the MetaHuman identity and is represented in DNA files obtained from rigs created through MetaHuman Creator. DNA files encode all the details of the shape and rig for MetaHuman heads.
DNA Calibration is a set of libraries used to inspect and modify MetaHuman DNA. These libraries are divided into two sets of functionalities:
The DNA Calibration repository contains two distinct tools:
DNA Calibration tools are provided in a GitHub repository located at this address.
Required Knowledge
To use these tools, you should be familiar with:
Rigging in Maya (to use or wrap the reference implementations).
The basic structure of MetaHuman rigs.
Working in Python.
Obtaining DNA Files
There are two ways to obtain DNA files:
Through the standalone version of Quixel Bridge, or
In Unreal Engine 5 through the Quixel Bridge plugin.
Standalone Quixel Bridge Application
To download DNA files with a MetaHuman's other Assets, in Quixel Bridge (standalone), you must first set the Download Settings for MetaHumans to Source Asset, as shown in the screenshot below.
To learn more about accessing and configuring download settings for MetaHumans, refer to the Download and Export Settings (Legacy) page.
Quixel Bridge in Unreal Engine
When using Quixel Bridge in Unreal Engine, DNA files will be available locally in the project folder: MetaHumans/{MetaHumanName}/SourceAssets
.
DNAViewer
MetaHuman head rigs are made of a large number of correlated Assets and require extensive and specific knowledge to understand and manipulate. DNA Viewer offers a simple and useful view of the head rig data included in a DNA file. You can create a rig in Maya with our reference implementation, then run scripts automatically at the end of assembly.
With DNAViewer, you can:
Inspect a DNA file directly (for the sake of building a rig, choosing options, etc.)
Choose which LODs to include in the rig’s assembly.
Choose build options relating to subsets of the rig (joints, logic, etc.)
Choose which, if any, GUIs to link to rig control (control sets such as Control Board).
Run post-assembly scripts on build.
There is no bundled or specific FBX exporter coming with our tools. Once built, the rig (or rigs) need to be exported through common means and in a format that suits your own pipelines.
DNACalib
DNACalib tools perform common rigging operations to the DNA data. You can use them on their own or match them to equivalent DCC operations to keep a scene coherent with the DNA file.
The commands are exclusively an API presence. If you want an artist-friendly UI wrapper that runs the operations coherently across the DCC application and the DNA, you need to develop your own solution using these APIs.
Use the DNACalib tools to:
Rename component parts:
Joints
Meshes
Animated maps (Normal and Color Maps)
Remove component parts:
Joints
Meshes
Blendshapes (all blendshapes depend on a matching joint animation)
Joint animation (most joint animation are coupled with a matching blendshape)
Transform the whole rig (translation, rotation, and scaling)
Select LODs (inclusion and exclusion from rig building and correlated export)
Change neutral transforms:
Joint position and rotation
Neutral mesh vertex positions
DNACalib modifies DNA files directly. Modified DNA files need to be imported through DNA Viewer and assembled into a Maya scene (or other DCC), and then exported through common means.
External Software Dependencies
DNACalib's Python wrapper is compiled against Python 3.7. If you are using a different version of Python, you must recompile it. Any Python 3 version should be fine.
Python 2 is not supported.
The DNACalib Python wrapper can be used in Python 3.7, mayapy
(Maya's Python interpreter), and Maya 2022.
DNAViewer can be used in mayapy (Maya's Python interpreter) or in Maya 2022.
If you run examples in Maya 2022, change the value for ROOT_DIR and use absolute paths (for example: C:/dna_calibration
in Windows or /home/user/dna_calibration
in Linux).
Use forward slash (/
) in file paths with Maya.
DNACalib
Use the DNACalib library to modify DNA files.
DNAViewer
Overview of DNAViewer in the DNA Calibration tool.