Tips

FBXファイルのUp軸

FBXファイルの拡張オプション「軸変換」のUp軸について書いてみます。

3Dソフトは座標系の違いによってシーンの上方向をY軸(Y-Up)であらわすソフトと、Z軸(Z-Up)であらわす2種類のソフトが存在します。Y-Upの代表的な3DソフトはMaya、modo、LightWave、Cinema 4Dです。Z-Upの代表的な3Dソフトは3ds Maxです。

FBX形式を使用してデータをやり取りする場合、Y-Upのソフト間では軸が問題になることは少ないですが、Z-Upの3ds MaxからFBXを出力する場合は注意が必要です。

 

FBXの軸変換オプション

3ds MaxからFBXファイルを出力する場合、拡張オプションに「軸変換」というオプションがあり、Y-UpとZ-Upを指定することができます。

 

しかし、残念なことに「軸変換」はトランスフォームに-90°を入れて回転するだけで、インポート先のソフトにあわせて軸を変換(回転をフリーズ)しません。軸変換でY-UpやZ-Up変更しても、FBX出力したソフトのUp軸が維持されます。

例えば下の画像は3ds MaxからY-Upで出力したFBXをMayaに読み込んだ物です。見かけのUp方向はあってますがトランスフォームの回転に-90が入っており、オブジェクトの軸はZ-Upのままです。

 

Mayaでは「トランスフォームのフリーズ」を使用すると回転値をフリーズして、Y-Upにすることができます。

 

3ds MaxからY-UpでFBX出力する方法

FBXのインポート先でMayaのようにトランスフォームをフリーズできる場合は問題ありませんが、FBX出力時にトランスフォームを適切なUp軸にしたい場合があります。

3ds MaxからY-UpでFBX出力したい場合は「基点のみに影響」をONにして基点を回転します。

 

 

modoの軸変換

modoでは読み込んだFBXの軸変換に2つの方法が使用されています。

Y-UpのFBXファイルを読み込んだ場合、トランスフォームアイテムのPreRotationが追加されて-90°回転した状態になります。

 

Z-UpのFBXファイルを読み込んだ場合、FbxUpAxisConvertという名称のロケータが追加されて-90°回転した状態になります。

 

Y-UpのソフトからZ-Upで出力したFBXの場合、FbxUpAxisConvertとPreRotationが追加され両方の回転に値が入ります。

 

modoでトランスフォームの「フリーズ」を使用すると、回転を0にして軸をY-Upにすることができます。

コメントを残す