技術仕様比較

このページでは、各種DCCや補助ツールの技術仕様について記載します。
主に、各ツール間の互換性を確保する、などの目的に利用できることを意図しています。

(まだ書き始めたばかりのため、内容の完全性は保証しません)

座標系

(標準設定の場合)

DCC

Maya3dsMaxBlenderMotionBuilderHoudiniModo
3D空間の右手/左手右手右手右手右手右手右手
上方向の軸Y+Z+Z+Y+Y+Y+
手前方向の軸Z+Y-Y-Z+Z+Z+
長さの単位cminchBU※cmm

※Blender Unitという独自単位で、ユーザーが任意の単位に換算する。2.56からメートルとヤードも選べるようになった。

3D API

基本的に、近年の3D APIはどのような座標系でも扱うことが可能。しかし、慣例的な主流の作法は存在する。

以下は、慣例的な作法が何かを示す。

OpenGL/WebGLDirect3D 9Direct3D 10以降VulkanMetal
3D空間の右手/左手右手※左手右手左手
上方向の軸Y+Y+Y+Y+
手前方向の軸Z+Z-Z+Z-
正規デバイス座標系の奥行き値[-1,1][0,1][0,1]
スクリーン座標系左下原点 (p214 Figure 8.3.)左上原点
長さの単位任意任意任意任意任意

※ただし、OpenGL/WebGLの正規デバイス座標系は左手系である。つまり、頂点シェーダーでプロジェクション行列を掛けずにポリゴンを素通りさせた場合、奥行き関係は反対(カメラ座標系では奥の座標だったポリゴンが手前に来てしまう)になってしまうことに注意すること。

ファイルフォーマット

FBXglTF
3D空間の右手/左手右手右手
上方向の軸Y+Y+
手前方向の軸Z+Z+
長さの単位cmm
回転の表現クォータニオン。データの並びは(x, y, z, w)の順
参考link 

3dsMax/MotionBuilder/Maya間のFBXスケール問題について、Autodesk社のWebドキュメントに記載があります。

「トラブルシューティングと制限事項 > トラブルシューティング > 3ds Max でシーンのスケーリングが異なるのはなぜですか? > MotionBuilder と Maya のスケーリング」
https://www.autodesk.com/jp/fbx/2013/3dsmax/index.html?url=files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124.htm,topicNumber=d30e8067 

回転がクォータニオンで表現されているフォーマットでは、DCCツール上で180度以上の回転を行う場合は、中間にキーフレーム(キーフレーム同士の間の角度変化が180度未満になるよう)を打つ必要があります(180度以上の変化の場合、ランタイム処理系で想定とは逆回転してしまう恐れがあります)。
そうしたフォーマット如何にかかわらず、やはり一般的には挙動の互換性の観点から、180度を超えるような回転を隣接キーフレーム間でつけない方が良いでしょう。

ゲームエンジン

Unreal Engine 4UnityLumberyard
3D空間の右手/左手左手左手右手
上方向の軸Z+Y+Z+
手前方向の軸Y+Z-Y-
長さの単位cmm