Metahuman_DNA_Calibration/docs/repository_organization.md
2023-04-21 11:52:01 +02:00

62 lines
2.2 KiB
Markdown

# 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) - DNACalib source code
- [dna_viewer](/dna_viewer) - source code of dna_viewer
- [examples](/examples) - several Python scripts to show basic usage of dna_viewer and the Python wrapper for DNACalib
- [lib](/lib) - pre-built binaries for DNACalib, PyDNACalib, and PyDNA
- [data](/data) - required DNAs and Maya scenes
- [docs](/docs) - documentation
## DNACalib
Documentation is located [here](dnacalib.md)
## DNAViewer
Documentation is located [here](dna_viewer.md)
## Examples
To run [DNAViewer examples](/docs/dna_viewer.md#examples), you must have Maya 2022 installed.
To run [DNACalib examples](/docs/dnacalib.md#python), you need Python3.
## Lib
[Lib folder](/lib) 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](lib/Maya2022/linux):
```shell
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
```
Note: Change the path `~/MetaHuman-DNA-Calibration` to where `MetaHuman-DNA-Calibration` is located.
## Data
The [`data folder`](/data) contains example DNA files. We provided two MetaHuman DNA files (Ada and Taro, our first Presets).
| Ada | Taro |
|---|---|
|![image](img/metahuman_008.png)| ![image](img/metahuman_010.png) |
Additionally, we added [`gui`](/data/gui.ma) and [`analog_gui`](/data/analog_gui.ma) Maya scenes which are used during
Maya scene assemble.
Furthermore, [`additional_assemble_script.py`](/data/additional_assemble_script.py) is used to organize objects in scene and
connect controls. The ideal setup looks like this:
![image](img/aas.png)