MayaとHoudiniではデフォルトのシーンスケールが違う。 その為Maya -> Houdini -> Mayaの流れでジオメトリをレンダリングする際に注意が必要になる。
Maya | Houdini | |
---|---|---|
1 unit | cm | m |
上記状態でAlembicでメッシュを書き出し、Houdiniに読み込む
Houdini内で「importABC」をobj階層でスケールを掛けてMayaと大きさを合わせている。 そのメッシュをwork内で調整し、Rop Alembicなどで書き出すとする。
Rop Alembicはobj階層でスケールを掛けていない為、Mayaに読み込むと0.01倍された大きさがスケール1として扱われて読み込まれる。
わかりづらいが、緑でハイライトされているのがHoudiniから再度書き出したメッシュ。
スケールを合わせるためにこの書き出したメッシュを100倍にし、レンダリングする。
自分でシェーダーを調整できる場合はbumpのoffsetを0.01倍すれば解決するが、 分業などでシェーダーの担当が違う場合などで見た目が合わない問題が起きる。 シェーダー数が多い場合などでミスが起きたり、忙しい時に忘れる恐れもある。
解決するためには、Houdiniの書き出し時にTransformノードなどでMayaのスケールに合わせてから書き出す。
bump, normal map, displacement(vector) map全てに影響するため、Houdiniからの書き出し時は必ずスケールを戻すこと。