Repository Organization

This repository contains two independent components:

  1. dnacalib C++ library - used to manipulate DNA files

  2. dna_viewer python code - used to visualize DNA in Autodesk Maya

Folder structure

  • dnacalib - DNACalib source code

  • dna_viewer - source code of dna_viewer

  • examples - several Python scripts to show basic usage of dna_viewer and the Python wrapper for DNACalib

  • lib - pre-built binaries for DNACalib, PyDNACalib, and PyDNA

  • data - required DNAs and Maya scenes

  • docs - documentation

DNACalib

Documentation is located here

DNAViewer

Documentation is located here

Examples

To run DNAViewer examples, you must have Maya 2022 installed. To run DNACalib examples, you need Python3.

Lib

Lib folder contains pre-built binaries of the DNACalib library for Windows and Linux. Additionally, a Maya plugin for RL4 is also available.

Linux location

You have to copy or create symbolic links for all .so files in lib:

sudo ln -s ~/MetaHuman-DNA-Calibration/lib/Maya2022/linux/_py3dna.so /usr/lib/_py3dna.so

sudo ln -s ~/MetaHuman-DNA-Calibration/lib/Maya2022/linux/libdnacalib.so /usr/lib/libdnacalib.so

sudo ln -s ~/MetaHuman-DNA-Calibration/lib/Maya2022/linux/libdnacalib.so.6 /usr/lib/libdnacalib.so.6

sudo ln -s ~/MetaHuman-DNA-Calibration/lib/Maya2022/linux/libembeddedRL4.so /usr/lib/embeddedRL4.mll

sudo ln -s ~/MetaHuman-DNA-Calibration/lib/Maya2022/linux/MayaUERBFPlugin.mll /usr/lib/MayaUERBFPlugin.mll

Note: Change the path ~/MetaHuman-DNA-Calibration to where MetaHuman-DNA-Calibration is located.

Data

The data folder contains example DNA files. We provided two MetaHuman DNA files (Ada and Taro, our first Presets).

Ada

Taro

image

image

Additionally, we added gui and analog_gui Maya scenes which are used during Maya scene assemble. Furthermore, additional_assemble_script.py is used to organize objects in scene and connect controls. The ideal setup looks like this:

image

The MHC 2023 spring release introduced changes to the rig definition (number of joints increased as well as the number of expressions). In order to accommodate those changes, we added several files to the repository in /data/mh4 folder: new gui scene, updated assemble script and example of Ada’s DNA file. Furthermore, in lib folder we added Maya RBF plugin which is used for controlling neck expressions. Neck setup has recently been improved and adding RBF plugin as well as new gui scene to use it, we get better neck deformations.