目的
XGen IG のデータのつき方を解析する.
XGen Interactive Glooming(spline hair) のデータにアクセス, データのエクスポートを行う.
mel コマンド
xgmsplinequery
を利用して調べることができる.
strand の本数など確認できる.
mel/pymel でのアクセス
initial length : description_base.initLength
で取得できる.
width parameter
description_Shape
で取得できる.
C++ でデータへのアクセス
mel/python だと本数が 1 万を超えるようなモデルだと遅くなりそうなので, C++ API を検討する.
Attribute
以下の attribute を出したい.
- width
- UV(per vertex of spline curve)
- texture coordinate
- guide spline(XGen IG で作成できるかしら?)
optional
XGen とは違い, XGen IG ではサポートしていない(or 自前で計算が必要か)
- T(tangent)
- Strand id
- N(normal)
- dpDu, dPdv
XPD
ベイク(Alembic と同じ?)した curve データを XPD で保存し, API や devkit にある xpd2txt でいじることができる.
devkit に xgSplineDataToXpd サンプルがあるが, 中身は xgSpline を Xpd に変換しているだけなので, xgSpline を直接いじるのを想定しているのであれば Xpd はあまり関係なさそう(他のツールと Xpd でデータをやりとりしたい場合用でしょうか)
参考文献
- XGen hair の width を Alembic でエクスポートして cyhair に変換する https://qiita.com/syoyo/items/1f9361a86a81d45b594f
- Maya XGen Interactive Grooming Spline を CyHair に変換する https://qiita.com/syoyo/items/c6ad533e955249dc5725
TODO
- 優秀な Maya exporter plugin 若人さまが, 人類史上最速で優秀な Maya XGen データエクスポート若人さまへ昇華なされるスキームを確立する旅に出たい