3DCGソフトの座標系


あらゆるCGソフト間を連携する上で各3DCGソフトの座標系の違いは混乱の元なので、改めて整理してみた。

座標系の確認

座標系は各ソフトの片隅にある座標軸で確認することができる。

起動時にYが上を向いていればY-up、Zが上を向いていればZ-up。 Y-upの時、左がXなら左手座標系、右がXなら右手座標系。 Z-upの時、左がXなら右手座標系、右がXなら左手座標系。 と、様々なパターンがある。

ここではわかりやすく軸型のオブジェクトを用意し、各ソフト間でどういった軸の変化があるかを見てみる。

Y-up / 左手座標系

Cinema4D

・Unit : cm ・デフォルトキューブ : 200cm

個人的にはとても安心する座標系。

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 / 右手系な気もする。

 

続いて、各ソフト間の座標系変換について。