Maya XGen Interactive Grooming Spline을 CyHair로 변환

3034 단어 xgencyhairmaya




한이라면 Maya Gen Interactive Grooming Spline을 CyHair 형식으로 변환하고 싶습니다!

하자!

코드는 여기에 있습니다.

개요



머리카락과 Fur 데이터 형식으로 CyHair 형식이 유명합니다. h tp // w w. 세뮤 ksel. 코 m / cy 코로바세 / 소 l / 우신 g_ 예 r_ 훗 ぇ s. HTML

Maya XGen 커브를 CyHair 형식으로 만들고 싶습니다.

그러나 Maya XGen Interactive Grooming 기능은 Maya NURBS 곡선으로 변환하는 기능이 없습니다 (내부 표현이 Spline이기 때문에 Interactive Grooming이 아닌 XGen 기능을 사용하면 Maya NURBS로 변환 할 수 있습니다).

XGen Spline API가 제공되며 스플라인 데이터에 액세스 할 수 있습니다.
(Arnold 라든지 VRay 등의 렌더러에서는 이것을 통해 커브의 데이터를 교환하고있는 것 같습니다)

XGen Spline API를 통해 여러 가지 속성에 액세스 할 수 있으므로 이것을 사용해 보겠습니다.
(캐시를 Alembic에서 Curves로 내보낼 수는 있지만 Alembic이면 모든 속성을 부여 할 수 있습니까? 알 수 없음)

Maya에서 XGen 데이터를 내보냅니다.



XGen Interactive Grooming Spline 데이터는 다음 MEL 명령을 사용하여 파일로 내보낼 수 있습니다.
xgmExportSplineDataInternal -output "/path/to/export.xgen" "[description1]_Shape.outRenderData";

여기서 [description1]는 노드의 이름입니다. 예를 들어 xgen1라는 노드가 있으면 DAG 이름 (?)은 _Shape.outRenderData가 붙은 xgen1_Shape.outRenderData입니다.

이 근처에 대한 자세한 내용은 xgen의 devkit 근처를 참조하십시오.

XGen API 사용


xgmExportSplineDataInternal에서 토출 된 데이터를 읽으려면 XGen C++ API를 사용하십시오.

XGen C++ API는 OpenMaya API에 의존하지 않으므로 독립 실행 형 앱으로 만들 수 있습니다.

덧붙여서, XGen API를 포함한 바이너리를 실행할 때에는 Maya의 라이센스는 요구되지 않는 것 같습니다 (원래 XGen은 별도의 앱이었으므로, 정품 인증을 할 수 없습니까?)

독립형 앱 빌드



기본적으로 XGen includelib에 패스를 통해 주면 문제없이 사용할 수 있습니다.

자세한 내용은 컨버터 CMakeLists.txt 당을 참조하십시오.

OpenMaya 등에 의존하지 않지만 libclewlibPtex 당 maya 본체의 lib에 대한 종속성이 있으므로 런타임 LD_LIBRARY_PATH에서 검색 경로를 조정해야합니다.

CHair 파일을 사용하십시오.



변환 된 CyHair 데이터는 PBRTv3에서 렌더링하려고합니다.

cyhair_to_gltf htps : // 기주 b. 코 m / 쇼요 / 치 nygltf ぉ 아데 r / t 네 / 뭐 r / 에 mp ぇ s / cy 예 r_와 _gltf에서 OpenGL 미리보기!

Happy Hair/Fur rendering!

TODO


  • Modifier를 사용하는 방법에 따라 예상되는 모양이 내보내지지 않으므로 원인을 찾습니다.
  • XGen 파일 형식이 공개되었기 때문에 XGen API를 사용하지 않고 자체 제작으로 XGen 파일을 구문 분석 할 수 있는지 고려하십시오.
  • Photobooth hair 형식도 지원됩니다.
  • 우수한 Maya XGen 젊은이가 XGen C++ API를 사용하여 인류 역사상 가장 빠르고 우수한 Maya XGen Spline 변환 젊은이로 승화하는 계획을 수립하는 여행을 떠나고 싶다.
  • 좋은 웹페이지 즐겨찾기