渋谷ほととぎす通信

完全趣味でやってるUnityメモ。説明できないところを説明できるようにするための個人ブログ。昨日の自分より少しでも大きくなれるように。。。 ※所属団体とは一切関係がありません

Unityのスケール1とMayaで書き出したFBXのスケール1を一致させる方法


ゆっくりとMayaを勉強していますが、あらためてMayaで書き出したFBXファイルをUnityにインポートした際のスケールのルールについて確認しようと思います。

Maya Unity
f:id:esakun:20180224172411p:plain:w300 f:id:esakun:20180224213739p:plain:w300

上図のように可能であればMayaの1Unityの1を同じサイズにできたら、Maya Unity間のワークフローとしてシンプルで良いなと思うんですが、デフォルトでは同じではありません。

Mayaの単位1は1センチメートル、Unityは1メートルです。
この状態だとMaya側で100倍のサイズで作らなければUnityの1倍と一致しません。

Mayaの作業単位を変更する

Mayaのデフォルト状態では作業単位がセンチメートルになっています。 この部分をメートルに変更すると、先ほどスケール1で作成したキューブは1辺1メートルのサイズになります。

f:id:esakun:20180224215048p:plain:w400

プリファレンス -> 設定 -> 作業単位でセンチメートルからメートルに変更することが出来ます。
この状態でスケール1のキューブを作成すると、Maya上では1辺1メートルのサイズになります。

f:id:esakun:20180224225602p:plain:w400

このキューブをUnity側へインポートすると、上図のように一見1メートルのキューブが表示されます。

成功かと思われますが、、、

f:id:esakun:20180224215538p:plain:w400

Unityのインスペクタのスケール値を見ると0.01となってしまい、結果1辺100mのキューブが作成されたことになってしまいます。
※スケール0.01のままで使用することはせず1に戻してしまうため

ここまでをまとめるとこのような図になります。

Maya作業単位 Mayaスケール Unityインスペクタ上の
スケール
Unity 実際のスケール
センチメートル 1 1 1センチメートル
メートル 1 0.01 100メートル


もう少し粘ってFBXで書き出す際の設定を見直してみます。

FBX書き出しオプションで対策

f:id:esakun:20180224221745p:plain:w400

FBX書き出しをする際、スケール周りの設定があります。

ファイルタイプ固有のオプション -> 詳細オプション -> 単位です。

デフォルト自動にチェックが入っています。
自動は作業単位で設定した単位が代入されます。 作業単位をセンチメートルにしていればセンチメートルが設定されます。

この自動のチェックボックスを外し、変換先のファイル単位メートルからセンチメートルに変更します。

f:id:esakun:20180224225602p:plain:w400

すると、Maya上での1が、Unity上での1メートルとして扱うことが可能になります。

f:id:esakun:20180224231309p:plain:w400
インスペクタ上もスケール1です。

まとめ

各設定と結果を表にまとめるとこうなります。

Maya
作業単位
FBX変換先の
ファイル単位
Maya
スケール
Unityインスペクタ
上のスケール
Unity
実際のスケール
File Scale
センチメートル 自動(センチメートル) 1 1 1センチメートル 0.01
センチメートル メートル 1 0.01 1メートル 1
メートル 自動(メートル) 1 0.01 100メートル 1
メートル センチメートル 1 1 1メートル 0.01

※表にUnityにインポートしたFBXのFile Scale値も資料として追加しています。

以下の2点を設定すればMaya、Unityのスケール1のサイズを合わせることができ、またUnityインスペクタ上のスケールもデフォルト1にできそうです。

  • Maya作業単位をメートルに設定
  • FBX書き出し時変換先ファイル単位をセンチメートルに設定

ただしMayaのデフォルト作業単位がセンチメートルなので、それをベースに開発が進んでいるのであれば素直にMayaではスケール1を1センチメートルと考えて作るのが良いのだろうと思います。

環境

  • Unity2017.3.1f1
  • Maya2015

参考