Blender の座標系を一般的な3次元座標系に合わせて出力する
About
ほぼメモ書きです。Blender では一般的な 3DCG と異なり、Z 軸を上方向とする3次元座標を利用します。一般的には Y 軸方向が上方向でしょう。 Blender ではこの差異を埋めるように、モデルの出力時に上方向と正面方向を指定して出力することができます。ここでは一般的な座標系に合うような出力の方法についてメモしておきます。
モデルや Blender、そのモデルを扱うソフトウェアのバージョン、フォーマット (とそのバージョン) によって設定値が異なる可能性があるので注意してください。対象となるフォーマットのエクスポータ (Exporter) にも依存するでしょう。
ここでは 2014.05 現在最新の安定板である Blender 2.7a を利用して fbx を出力することを想定しています。Blender 2.7a では任意のプラグインを導入せずに .fbx が出力できます。
座標系の合わせ方
Blender 座標系上のモデルの回転方向と、出力時に指定する上方向と正面方向の組み合わせによって、いくつかのパターンが正しい結果を出力します。私の場合には次のようにしています。
Blender 座標系ではモデルの正面方向を +Y 、上方向を +Z にします。出力時には、正面方向を +Z、上方向を +Y に設定します。この設定で出力すると、Blender とそれ以外の一般的なソフトウェア上で展開されるモデルの見た目が一致して、軸だけが変更されているかと思います。
Unity で扱う場合には注意する
需要の都合上、この記事は Unity のカテゴリに含めてしまっていますが、Unity に向けて fbx などを出力するときには注意が必要です。Blender 上の Rotate 情報が残っていると、Unity に Import した際に、モデルに Rotate 係数が残ったままになります。※最新のバージョンでは確認していません。Unity に限らず、Rotate 係数や Translate 係数が残ったままモデルが出力されているときは、Blender で編集を Freez する必要があります。ここでは Blender の編集操作方法に解説はしません。