DNACalib 라이브러리의 명령 및 툴 컬렉션을 통해 DNA 파일에 포함된 데이터를 수정할 수 있습니다. 라이브러리는 C++로 작성되었으며, Python 바인딩을 제공합니다. 바인딩은 SWIG 라이브러리를 사용하여 생성됩니다.
이러한 툴은 DNA 파일 데이터를 절차적으로 수정하기 위해 단독 표시하는 데 유용하며, 보다 인터랙티브하고 아티스트 친화적인 워크플로를 위해 자체 파이프라인 내에서 손쉽게 확장하거나 맞춤화할 수 있습니다. 예를 들어, DCC 애플리케이션에서 씬 및 해당 DNA 데이터를 모두 수정하는 이름변경 또는 삭제 명령을 생성할 수 있습니다.
DNACalib 툴은 다음 방식으로 사용할 수 있습니다.
-
C++ 프로젝트의 경우 소스를 통해 또는 바이너리와 연결하여 사용
-
호환되는 Python 환경에서 Python 바인딩을 통해 사용(명령줄 포함)
-
Maya의 경우 제공된 레퍼런스 구현을 통해 Python 바인딩으로 사용
DNA 데이터에 직접적인 영향을 미치는 명령이 DNACalib에 포함되어 있다는 것은 여러 번 강조해도 지나치지 않습니다. Maya 내에서 MayaPy 및 GUI의 스크립트 기능으로 레퍼런스 구현을 실행할 수 있지만, 이는 Maya 씬의 변경사항과 일치하거나 반응하지는 않습니다. 씬과 DNA 데이터에 동시에 영향을 줄 수 있는 래퍼를 사용하고 싶다면 이러한 래퍼를 직접 생성해야 합니다.
DNACalib 명령
조인트, 메시, 블렌드 셰이프, 애니메이팅된 맵 이름변경
이러한 컴포넌트는 모두 메타휴먼 헤드 릭이 올바르게 작동하는 데 꼭 필요합니다. DNACalib이 출시되기 전에는 이 컴포넌트들의 이름을 변경하면 일반적으로 연산자와 씬/에셋 오브젝트 및 파라미터 간의 연결이 끊어졌습니다.
DNACalib 명령을 사용하면 이 중 어떤 컴포넌트라도 원하는 (법적) 이름으로 변경할 수 있으므로, 파이프라인이나 툴링이 이름과 연관된 경우 이제 메타휴먼 헤드 릭을 그에 맞게 바꿀 수 있습니다.
조인트, 메시, 블렌드 셰이프, 조인트 애니메이션 제거
제거만 가능하며 추가는 불가능합니다. 또한 제거로 인해 기본 구조에 미치는 영향은 제거한 당사자의 책임입니다.
컴포넌트 파츠를 제거하면 LOD 콘텐츠 내에서 릭의 무게를 줄이는 데 도움이 되기도 합니다. 또한 이렇게 조인트를 제거하면 웨이트 맵 생성 시 해당 조인트의 영향 없이 웨이트 맵이 지오메트리 전반에서 올바르게 파라미터화됩니다.
전체 릭 트랜스포메이션
이제 이 명령을 통해 전체 계층구조로 전파되는, 루트 노드의 이동, 회전, 스케일링이 가능합니다. 이 파라미터들의 어떤 조합이든 트랜스폼할 수 있습니다.
이 명령을 사용하여 비균등 스케일링을 수행하는 것도 가능하지만, 권장하지는 않습니다.
이 툴을 통해 메타휴먼 머리를 스케일 조절하고, 제공되는 크기 외 다양한 크기의 커스텀 바디 또는 노멀 스케일과는 다른 세팅 및 크리처와 함께 사용할 수 있습니다.
LOD 제거
DNA는 많은 양의 LOD를 빌드하는 데 필요한 모든 것을 제공합니다. 그러나 가끔은 LOD의 서브셋만 필요할 때도 있으며, 메타휴먼 헤드 릭이 포함된 에셋을 업데이트할 때마다 사용되지 않는 LOD를 제거하는 것은 반복적이고 지루한 작업이 될 수도 있습니다.
이 명령은 DNA 파일의 콘텐츠에서 LOD를 제거하므로 빌드는 더 빨라지고 에셋은 더 작아지는 결과로 이어집니다.
중립 트랜스폼 및 메시 변경
이 명령을 사용하여 조인트 및 중립 포즈 메시의 중립 트랜스폼(이동, 회전, 스케일링)을 설정합니다.
이를 통해 바인드 포즈 세팅 및 새로운 사전 스키닝 버텍스 위치 세팅과 동일한 작업을 DNA에서 효과적으로 수행할 수 있습니다.
지오메트리 버텍스가 주어진 베이스 메타휴먼 메시에서 멀어질수록 릭에 문제가 생길 가능성도 커집니다. 특히 눈꼬리, 입꼬리 등 결정적인 영역에서는 더욱 그렇습니다. 영향이 매우 미미하고 리지드한 영역이나 비헤이비어가 단순한 영역(예: 귀, 아래턱 끝, 턱 모서리 등)을 수정하는 것은 일반적으로 더 자유롭습니다.