Daz에서 마야 다리까지
Daz Bridge 라이브러리를 기반으로 하는 Daz Studio 플러그인으로, Daz Studio 캐릭터와 소품을 Maya로 전송할 수 있습니다.
- 소유자: Daz 3D – @Daz3d
- 라이센스: Apache 라이센스, 버전 2.0 - 자세한 내용은
LICENSE
및 NOTICE
참조하세요. - 공식 출시: Daz에서 Maya Bridge까지
- 공식 프로젝트: github.com/daz3d/DazToMaya
목차
- 다리에 대하여
- 전제 조건
- 설치 방법
- 사용방법
- 구축 방법
- 개발 방법
- 디렉토리 구조
1. 다리에 대하여
이는 Daz Bridge Library를 기반으로 C++로 다시 작성된 원본 DazToMaya Bridge의 업데이트된 버전입니다. 이를 통해 DazToUnreal 및 DazToBlender 브리지와 같은 다른 브리지와 동일한 소스 코드 및 기능을 공유할 수 있습니다.
Daz To maya Bridge는 자산을 Maya로 내보내는 Daz Studio 플러그인과 자산을 가져오고 Maya에서 원본 Daz Studio 자산의 모양을 재현하는 데 도움이 되는 Maya 모듈의 두 부분으로 구성됩니다.
2. 전제조건
- Daz Studio 애플리케이션의 호환 버전
- Maya 애플리케이션의 호환 버전
- 운영 체제:
- Windows 7 이상
- macOS 10.13(High Sierra) 이상
3. Daz To Maya Bridge를 어떻게 설치합니까?
다즈 스튜디오:
- Daz 설치 관리자를 통해 Daz To Maya Bridge를 자동으로 설치할 수 있습니다. 그러면 파일 -> 보내기 -> Daz To Maya 아래에 새 메뉴 옵션이 자동으로 추가됩니다.
- 또는 Github 릴리스 페이지에서 최신 빌드를 다운로드하고 해당 지침에 따라 Daz Studio에 설치하여 수동으로 설치할 수 있습니다.
마야:
- Daz Studio 플러그인에는 Maya Bridge 모듈용 설치 프로그램이 내장되어 있습니다. Daz To Maya Bridge 대화상자에는 이제 Maya 모듈 설치를 위한 고급 설정 섹션이 있습니다.
- "플러그인 설치..." 버튼을 클릭하세요. Maya 모듈을 설치할 폴더를 선택하는 팝업 창이 표시됩니다. 시작 폴더는 Maya 플러그인 및 모듈의 기본 위치여야 합니다.
- Windows에서 모듈을 설치하는 경로는 "Documentsmayamodules"여야 합니다. Mac의 경우 경로는 "/Users//Library/Preferences/Autodesk/maya/modules"여야 합니다.
- 대부분의 Maya 설정에서는 "폴더 선택"만 클릭하면 됩니다. 그러면 플러그인 설치가 성공했는지 알려주는 확인 대화 상자가 표시됩니다.
- Maya가 실행 중인 경우 Daz To Maya Bridge 모듈을 로드하려면 다시 시작해야 합니다.
- Maya에서는 이제 Maya Shelf 툴바에 "DazToMaya" 탭이 표시됩니다. DazToMaya 옵션을 찾으려면 이 탭을 클릭하세요.
- Maya 선반에서 탭이 비활성화된 경우 "톱니바퀴" 아이콘을 클릭하고 "선반 탭"을 선택하여 "DazToMaya" 탭을 찾아서 선택해야 할 수도 있습니다.
- 이제 선반의 DazToMaya 탭에 "DAZ IMPORT" 아이콘이 표시됩니다. Daz To Maya Bridge 설치가 완료되었습니다!
- "DAZ IMPORT" 아이콘을 클릭하려고 할 때 오류가 발생하면 PyMEL이 설치되어 있는지 확인하세요.
4. 마야 브릿지는 어떻게 사용하나요?
- Daz Studio에서 캐릭터를 엽니다.
- 옷이나 머리카락이 본체의 부모인지 확인하세요.
- 메인 메뉴에서 파일 -> 보내기 -> Daz To Maya를 선택합니다. 또는 파일 -> 내보내기를 선택한 다음 파일 형식 드롭다운 옵션에서 "Maya Ascii 파일" 또는 "Maya 바이너리 파일"을 선택할 수 있습니다.
- 대화상자가 나타납니다. "정적 메시"(스켈레톤 없음), "스켈레탈 메시"(캐릭터 또는 관절 포함), "애니메이션" 또는 "환경"(장면의 모든 메시) 중에서 수행하려는 변환 유형을 선택합니다. .
- 모프 또는 하위 분할 레벨을 활성화하려면 확인란을 클릭하여 해당 옵션을 활성화한 다음 "모프 선택" 또는 "세분 분할 굽기" 버튼을 클릭하여 선택 사항을 구성하세요.
- 수락을 클릭한 다음 Maya로 전환할 시기를 알려주는 대화상자 팝업이 나타날 때까지 기다립니다.
- Maya의 DazToMaya 도구 선반에서 "DAZ IMPORT" 아이콘을 클릭하여 DazToMaya Bridge 대화 상자 창을 엽니다.
- "자동 가져오기"를 선택하세요.
변경:
- 모프 내보내기 옵션을 활성화한 경우 아웃라이너 패널에 "모프" 노드가 있습니다. 이 노드를 선택하면 "추가 속성" 제목 아래의 "속성 편집기" 패널에 모프 슬라이더가 나타나는 것을 볼 수 있습니다.
생기:
- "애니메이션" 자산 유형 옵션을 사용하려면 그림이 Daz Studio "타임라인" 시스템의 애니메이션을 사용해야 합니다.
- "aniMate" 또는 "aniBlocks" 기반 애니메이션을 사용하는 경우 "aniMate" 패널을 마우스 오른쪽 버튼으로 클릭하고 "Bake To Studio Keyframes"를 선택해야 합니다.
- 애니메이션이 "타임라인" 시스템에 있으면 파일 -> 보내기 -> Daz To Maya를 사용하여 전송을 시작할 수 있습니다.
- 이제 전송된 애니메이션을 Maya 애니메이션 인터페이스를 통해 사용할 수 있습니다.
세분화 지원:
- Daz Studio는 무한히 매끄러운 표면을 매우 효율적인 방식으로 설명하는 수학적 방법인 Catmull-Clark Subdivision Surface 기술을 사용합니다. 반경만으로 무한히 매끄러운 원을 설명할 수 있는 것과 유사하게 Daz Figure의 기본 해상도 메시는 실제로 무한히 매끄러운 표면을 설명하는 방정식의 수학적 데이터입니다. Catmull-Clark Subdivision 및 세분화 표면 기반 모프(HD Morph라고도 함)를 지원하는 소프트웨어의 경우 기본 해상도 메시(세분화 레벨 0)를 내보낸 다음 기본 Catmull-Clark를 사용하여 품질이나 디테일이 손실되지 않습니다. 세분화 기능.
- Catmull-Clark Subdivision 또는 HD Morph를 완벽하게 지원하지 않는 소프트웨어의 경우 추가 세분화 세부 수준을 메시에 "구워서" 원본 표면의 세부 사항에 더 가깝게 만들 수 있습니다. 그러나 각각의 추가 하위 분할 수준을 베이킹하려면 기하급수적으로 더 많은 CPU 시간, 메모리 및 저장 공간이 필요합니다. 고급 PC가 없는 경우 내보낸 하위 분할 수준을 2 이상으로 설정하면 시스템 메모리가 부족해 충돌이 발생할 수 있습니다.
- Daz To Maya 브리지에서 Bake Subdivision 옵션을 활성화하면 자산이 더 높은 해상도의 정점 개수를 가진 표준 메시로 Maya로 전송됩니다.
5. 구축 방법
빌드 시스템의 설정 및 구성은 CMake를 통해 수행되어 Windows 또는 Mac용 프로젝트 파일을 생성합니다. CMake 구성에는 다음이 필요합니다.
- 최신 CMake(Win에서는 3.27.2, Mac에서는 3.27.0-rc4로 테스트됨)
- Daz Studio 4.5+ SDK(DIM에서)
- Fbx SDK 2020.1(win) / Fbx SDK 2015.1(mac)
- 오픈서브디브 3.4.4
(Daz Studio SDK에 내장된 Qt 4.8.1 빌드 라이브러리를 사용해야 합니다. 외부 Qt 라이브러리를 사용하면 빌드 오류가 발생하고 프로그램이 불안정해집니다.)
DazToMaya github 저장소를 로컬 머신에 다운로드하거나 복제합니다. Daz Bridge 라이브러리는 DazBridge 저장소에 git 하위 모듈로 연결됩니다. git 클라이언트에 따라 git submodule init
및 git submodule update
사용하여 Daz Bridge 라이브러리를 올바르게 복제해야 할 수도 있습니다.
빌드 설정 프로세스는 대화형 세션에서 CMake GUI를 사용하여 실행되도록 설계되었습니다. 소스 코드 폴더와 출력 폴더를 설정한 후 사용자는 구성을 클릭할 수 있습니다. CMake는 구성 프로세스 중에 중지되어 사용자에게 다음 경로를 묻는 메시지를 표시합니다.
- DAZ_SDK_DIR – Daz Studio 4.5+ SDK의 루트 폴더입니다. 이는 Daz Store에서 구매하고 DIM을 통해 설치된 버전이어야 합니다. 다른 버전은 이 소스 코드 프로젝트에서 작동하지 않으며 빌드 오류 및 실패가 발생합니다. 예: C:/Users/Public/Documents/내 DAZ 3D 라이브러리/DAZStudio4.5+ SDK
- DAZ_STUDIO_EXE_DIR – Daz Studio 실행 파일이 포함된 폴더입니다. 예: C:/Program Files/DAZ 3D/DAZStudio4
- FBX_SDK_DIR – "include" 및 "lib" 하위 폴더가 포함된 루트 폴더입니다. 예: C:/Program Files/Autodesk/FBX/FBX SDK/2020.0.1
- OPENSUBDIV_DIR – "opensubdiv", "examples", "cmake" 폴더가 포함된 루트 폴더입니다. 출력 폴더가 "build"라는 하위 폴더로 설정되었고 osdCPU.lib 또는 libosdCPU.a 정적 라이브러리 파일이 /build/lib/Release/osdCPU.lib 또는 /build/lib/Release/libosdCPU에 빌드되었다고 가정합니다. .에이. Mac 및 Windows용 사전 빌드된 라이브러리는 https://github.com/danielbui78/OpenSubdiv/releases에서 찾을 수 있습니다. 여기에는 포함 및 사전 빌드된 릴리스 정적 라이브러리 바이너리의 올바른 위치가 포함되어 있습니다. 이 사전 컴파일된 버전을 사용하지 않는 경우 OPENSUBDIV_INCLUDE 폴더 경로 및 OPENSUBDIV_LIB 파일 경로의 올바른 위치를 확인해야 합니다.
이러한 경로가 CMake GUI에 올바르게 입력되면 구성 버튼을 클릭할 수 있으며 구성 프로세스가 다시 시작되어 완료됩니다. 그런 다음 프로젝트 파일을 생성하고 프로젝트를 열 수 있습니다. Qt 4.8 빌드 도구 및 라이브러리의 사용자 정의 버전이 DAZ_SDK_DIR에 포함되어 있습니다. 다른 버전의 Qt가 시스템에 설치되어 있고 CMake에 표시되는 경우 DAZ_SDK_DIR에 제공된 올바른 Qt 버전을 찾는 데 오류가 발생하고 빌드 오류 및 실패가 발생할 수 있습니다.
결과 프로젝트 파일에는 프로젝트 대상으로 "DzBridge-Maya", "DzBridge Static" 및 "MayaModule ZIP"이 있어야 합니다. "DzBridge-Maya"에서 생성된 DLL/DYLIB 바이너리 파일은 작동하는 Daz Studio 플러그인이어야 합니다. "MayaModule ZIP" " 프로젝트에는 Maya 모듈 파일을 zip 파일로 패키징하고 기본 Daz Studio 플러그인 DLL/DYLIB 바이너리에 삽입할 수 있도록 준비하는 자동화 스크립트가 포함되어 있습니다.
6. 수정 및 개발 방법
Daz Studio 플러그인 소스 코드는 DazStudioPlugin
폴더에 포함되어 있습니다. 플러그인의 기본 C++ 클래스 진입점은 "DzBlenderAction"(.cpp/.h)입니다. Maya 모듈 소스 코드 및 리소스는 /Maya/MAYA_APP_DIR/modules/DazToMaya
폴더에서 사용할 수 있습니다. Daz Studio SDK API 및 Qt API 참조 정보는 "DAZ Studio SDK Docs" 패키지에서 찾을 수 있습니다. Windows에서 이 설명서의 기본 페이지는 기본적으로 C:UsersPublicDocumentsMy DAZ 3D LibraryDAZStudio4.5+ SDKdocsindex.html
에 설치됩니다.
DZ_BRIDGE_NAMESPACE : DazToMaya Bridge는 DZ_BRIDGE_NAMESPACE 내에 있는 Daz Bridge 라이브러리의 기본 클래스에서 파생됩니다(bridge.h 참조). 이전에 게시된 공식 Daz Bridge 플러그인 버전은 사용자 정의 네임스페이스를 사용하여 각 플러그인에서 공유 클래스 이름을 분리했습니다. 이는 이론적으로 C++ 네임스페이스를 준수하는 플랫폼의 네임스페이스 충돌을 방지하기 위해 작동하지만 Daz Studio 및 Bridge 플러그인에서 많이 사용되는 Qt 및 Qt 메타 개체 프로그래밍 모델의 일부 구현에서는 적용되지 않을 수 있습니다. 특히, C++ 네임스페이스는 Qt의 Mac OS 구현에서 코드를 격리하지 않을 수 있습니다. 이러한 제한 사항을 염두에 두고 잠재적인 브리지 플러그인 개발자의 배포 복잡성을 간소화하고 줄이기 위해 DZ_BRIDGE_NAMESPACE의 이름을 바꾸라는 권장 사항을 제거하기로 결정했습니다.
이 플러그인과 Daz Bridge 라이브러리 간에 C++ 클래스를 연결하고 공유하기 위해 표준 DZ_PLUGIN_DEFINITION 매크로 및 일반적인 .DEF 파일(bridge.h 참조) 대신 사용자 정의 CPP_PLUGIN_DEFINITION()
매크로가 사용됩니다. 참고: DZ_PLUGIN_DEFINITION 매크로 및 DEF 파일을 사용하면 Visual Studio 컴파일러에서 C++ 클래스 내보내기가 비활성화됩니다.
7. 디렉토리 구조
Maya 디렉토리 내에는 대상 시스템의 위치에 해당하는 하위 디렉토리 계층이 있습니다. 계층 구조의 일부는 지원되는 플랫폼 간에 일관되며 정확하게 복제되어야 하며 다른 일부는 대상 시스템의 플랫폼에 따라 달라지는 위치에 대한 자리 표시자 역할을 합니다.
이 저장소에 사용되는 자리 표시자 디렉터리 이름은 다음과 같습니다.
이름 | 윈도우 | macOS |
---|
appdir_common | 대상 응용 프로그램의 기본 실행 파일(.exe)이 포함된 디렉터리입니다. 하위 계층 구조는 32비트와 64비트 아키텍처 간에 일반적입니다. | 대상 애플리케이션에 대한 기본 애플리케이션 번들(.app)이 포함된 디렉터리입니다. 하위 계층 구조는 32비트와 64비트 아키텍처 간에 일반적입니다. |
MAYA_APP_DIR | 개인 Maya 응용 프로그램 디렉토리를 나타내는 디렉토리 - Maya 문서 참조 | 두 플랫폼 모두 동일합니다. |
MAYA_SCRIPT_PATH | MEL 스크립트의 검색 경로 - Maya 문서 참조 | 두 플랫폼 모두 동일합니다. |
디렉토리 구조는 다음과 같습니다.
-
Maya
: 브리지의 Maya 측과 관련된 파일 -
DazStudioPlugin
: DazToMaya 브리지의 Daz Studio 측과 관련된 파일-
Resources
: 이 빌드 단계를 용이하게 하기 위해 Daz Studio 플러그인 및 지원 스크립트에 내장될 데이터 파일입니다.
-
dzbridge-common
: DazStudioPlugin에서 사용하는 Daz Bridge 라이브러리의 파일-
Extras
: 특히 게임 엔진 및 기타 실시간 애플리케이션의 변환 프로세스를 돕는 추가 스크립트 및 지원 파일입니다.
-
Test
: 품질 보증 테스트에 사용되는 스크립트 및 생성된 출력(보고서)입니다.