<p>MetaHuman DNA Calibration is a set of tools used for working with MetaHuman DNA files, bundled into a single package. We wanted to share this code to help users customize DNA files so they can better integrate the characters they create into their games and experiences.
MetaHuman DNA Calibration tools are provided in a GitHub repository located at this address.</p>
<h1>Overview<aclass="headerlink"href="#overview"title="Permalink to this headline"></a></h1>
<p>For an explanation about how the repository is organized, <aclass="reference internal"href="repository_organization_md.html"><spanclass="doc std std-doc">click here</span></a>.</p>
<h2>Required Knowledge<aclass="headerlink"href="#required-knowledge"title="Permalink to this headline"></a></h2>
<p>To use these tools, you should be familiar with:</p>
<ulclass="simple">
<li><p>Rigging in Maya</p></li>
<li><p>Python</p></li>
</ul>
</section>
<sectionid="optional-knowledge">
<h2>Optional Knowledge<aclass="headerlink"href="#optional-knowledge"title="Permalink to this headline"></a></h2>
<ulclass="simple">
<li><p>C++ (for <aclass="reference internal"href="dnacalib_md.html"><spanclass="doc std std-doc">DNACalib</span></a> and its <aclass="reference internal"href="dnacalib_api_md.html"><spanclass="doc std std-doc">API</span></a>)</p></li>
</ul>
</section>
<sectionid="dnacalib">
<h2>DNACalib<aclass="headerlink"href="#dnacalib"title="Permalink to this headline"></a></h2>
<p><aclass="reference internal"href="dnacalib_md.html"><spanclass="doc std std-doc">DNACalib</span></a> and its <aclass="reference internal"href="dnacalib_api_md.html"><spanclass="doc std std-doc">API</span></a> are used to inspect and modify DNA files. With <aclass="reference internal"href="dnacalib_md.html"><spanclass="doc std std-doc">DNACalib</span></a>, you can make the following changes in DNA files:</p>
<ulclass="simple">
<li><p>Rename joints, meshes, blendshapes, and / or animated maps.</p></li>
<li><p>Remove joints, meshes, and / or joint animation.</p></li>
<li><p>Rotate, scale, and translate the rig.</p></li>
<h2>External Software Dependencies<aclass="headerlink"href="#external-software-dependencies"title="Permalink to this headline"></a></h2>
<p>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.
Pre-compiled binaries for Windows and Linux (both 64-bit) are part of the repository.
If a user has a different platform or architecture, the library and its dependencies must be compiled.</p>
<p><strong>Warning:</strong>
Python 2 is not supported.</p>
<p>DNACalib can be used in C++ projects as a C++ library.</p>
<p>DNACalib Python wrapper can be used in Python 3.7, <codeclass="docutils literal notranslate"><spanclass="pre">mayapy</span></code> (Maya’s Python interpreter), or Maya 2022.</p>
</section>
<sectionid="dnaviewer">
<h2>DNAViewer<aclass="headerlink"href="#dnaviewer"title="Permalink to this headline"></a></h2>
<p>With DNAViewer, you can:</p>
<ulclass="simple">
<li><p>Create functional rigs for Maya.</p></li>
<li><p>Export FBX files.</p></li>
<li><p>Read internal parts of DNA files.</p></li>
</ul>
<p>DNAViewer can be used in <codeclass="docutils literal notranslate"><spanclass="pre">mayapy</span></code> (Maya’s Python interpreter) or in Maya 2022, except <aclass="reference external"href="https://github.com/EpicGames/MetaHuman-DNA-Calibration/tree/main/examples/dna_viewer_grab_changes_from_scene_and_propagate_to_dna.py">Propagating changes from Maya scene to dna</a> which can be used just in Maya.</p>
</section>
</section>
<sectionid="examples">
<h1>Examples<aclass="headerlink"href="#examples"title="Permalink to this headline"></a></h1>
<p>Several Python examples are provided for reference and can be found in the <strong>examples’</strong> folder:</p>
<ulclass="simple">
<li><p><aclass="reference external"href="https://github.com/EpicGames/MetaHuman-DNA-Calibration/tree/main/examples/dnacalib_demo.py">Showcase a few commands</a></p></li>
<li><p><aclass="reference external"href="https://github.com/EpicGames/MetaHuman-DNA-Calibration/tree/main/examples/dnacalib_rename_joint_demo.py">Rename a joint</a></p></li>
<li><p><aclass="reference external"href="https://github.com/EpicGames/MetaHuman-DNA-Calibration/tree/main/examples/dna_demo.py">Create a small DNA from scratch</a></p></li>
<li><p><aclass="reference external"href="https://github.com/EpicGames/MetaHuman-DNA-Calibration/tree/main/examples/dnacalib_lod_demo.py">Create a new DNA from an existing one by extracting specific LODs</a></p></li>
<li><p><aclass="reference external"href="https://github.com/EpicGames/MetaHuman-DNA-Calibration/tree/main/examples/dnacalib_remove_joint.py">Remove a joint</a></p></li>
<li><p><aclass="reference external"href="https://github.com/EpicGames/MetaHuman-DNA-Calibration/tree/main/examples/dna_viewer_run_in_maya.py">Simple UI in Maya</a> and some <spanclass="xref myst">documentation</span> for it</p></li>
<li><p><aclass="reference external"href="https://github.com/EpicGames/MetaHuman-DNA-Calibration/tree/main/examples/dna_viewer_demo.py">Generate rig and export FBX per LOD</a></p></li>
<li><p><aclass="reference external"href="https://github.com/EpicGames/MetaHuman-DNA-Calibration/tree/main/examples/dna_viewer_grab_changes_from_scene_and_propagate_to_dna.py">Propagating changes from Maya scene to dna</a></p></li>
</ul>
<sectionid="example-dna-files">
<h2>Example DNA files<aclass="headerlink"href="#example-dna-files"title="Permalink to this headline"></a></h2>
<p><aclass="reference external"href="https://github.com/EpicGames/MetaHuman-DNA-Calibration/tree/main/data/dna">Two demo DNA files</a> are provided for easier testing of this tool. Any DNA generated with <aclass="reference external"href="https://www.unrealengine.com/en-US/metahuman">MetaHumanCreator</a>
should work.</p>
</section>
</section>
<sectionid="notes">
<h1>Notes<aclass="headerlink"href="#notes"title="Permalink to this headline"></a></h1>
<p>If a user runs examples in Maya 2022, the value for <codeclass="docutils literal notranslate"><spanclass="pre">ROOT_DIR</span></code> should be changed and absolute paths must be used,
eg. <codeclass="docutils literal notranslate"><spanclass="pre">c:/dna_calibration</span></code> in Windows or <codeclass="docutils literal notranslate"><spanclass="pre">/home/user/dna_calibration</span></code> in Linux. Important: Use <codeclass="docutils literal notranslate"><spanclass="pre">/</span></code> (forward slash), Maya uses forward slashes in path.</p>
<p>See the <aclass="reference internal"href="faq_md.html"><spanclass="doc std std-doc">FAQ guide</span></a> for additional specifications.</p>
</section>
<sectionid="license">
<h1>License<aclass="headerlink"href="#license"title="Permalink to this headline"></a></h1>
<p>MetaHuman DNA Calibration is released with <aclass="reference external"href="https://github.com/EpicGames/MetaHuman-DNA-Calibration/tree/main/LICENSE">licence</a>.</p>