あらゆるCGソフト間を連携する上で各3DCGソフトの座標系の違いは混乱の元なので、改めて整理してみた。
Contents
座標系の確認
座標系は各ソフトの片隅にある座標軸で確認することができる。
起動時にYが上を向いていればY-up、Zが上を向いていればZ-up。
Y-upの時、左がXなら左手座標系、右がXなら右手座標系。
Z-upの時、左がXなら右手座標系、右がXなら左手座標系。
と、様々なパターンがある。
ここではわかりやすく軸型のオブジェクトを用意し、各ソフト間でどういった軸の変化があるかを見てみる。
Y-up / 左手座標系
Cinema4D
個人的にはとても安心する座標系。
Unity
・Unit : m
・デフォルトキューブ : 1m
Y-up / 左手系でCinema4Dと共通しているが実はZ軸のFowerdの向きが違う(後述)、同じ座標系でも全く同じではない場合がある。
Y-up / 右手座標系
ZBrush
・Unit : なし
・デフォルトスケール : 2
なぜかY軸の下方向が正の値を示している。
Metashape
・Unit : m
Metashapeは座標系の表示があるためわかりやすい。
Substance 3D Painter
・Unit : cm
ペイント系ソフトながらPBRを扱うためUnitがしっかりと指定されている。
CloudCompare
・Unit : 不明
点群編集ソフトなので例外
Z-up / 左手座標系
UnrealEngine
・Unit : cm
・デフォルトキューブ : 100cm
世にも珍しい、Z-up / 左手系の座標系を持つ。
Z-up / 右手座標系
Blender
・Unit : m
・デフォルトキューブ : 2m
CAD系ではないながらZ-upを採用しているBlender。
Twinmotion
・Unit : m
・デフォルトキューブ : 1m
UEで作られたソフトながら座標系はUEとは異なる右手系。
UEの方がレアな座標系なので一般的な座標系に合わせたのか。
RealityCapture
・Unit : m
フォトグラメトリ系ソフトは座標系がわかりづらいがRealityCaptureはZ-up。
Meshmixer
・Unit : mm
本来は3Dプリント用のソフトで単位がmm。
表示はY-upの様だが、内部的にはZ-up / 右手系な気もする。
続いて、各ソフト間の座標系変換について。