ツクロウヤ

Unityによるゲーム開発記やUnity,3dsMaxのTipsなどを記載していきます。

【Unity+3dsmax】Unityへのモデル+アニメの出力方法

今回は3dsmax→Unityへの出力方法についてです。
3dsmax2017から新しくゲームエクスポータという機能が追加されましたので、そちらを使用した出力に関してまとめたいと思います。

ゲームエクスポータ

ゲームエクスポータは書き出しの箇所にあります。

f:id:ArtAwA:20170430214745j:plain

ゲームエクスポータでは各種設定を行い、FBX形式で出力することが可能です。
細かい項目の説明などは公式におまかせして、Unityでの設定や自分のやり方などを紹介していきたいと思います。

・公式ヘルプ
[ゲーム エクスポータ](Game Exporter)ダイアログ ボックス | 3ds Max | Autodesk Knowledge Network

モデルの出力

ゲームエクスポータを開くと以下のようなものが開きます。
モデルの出力設定はモデルタブで行います。

f:id:ArtAwA:20170430231508j:plain

【①について】
上部タブの「モデル」「アニメーションクリップ」を選択することによってモデル、アニメの設定タブが切り替わります。

【②について】
書き出し項目を設定することが出来ます。
「すべてを書き出し」「選択を書き出し」「オブジェクトセットを書き出し」の項目があり、「オブジェクトセットを書き出し」の利用頻度が高いです。

f:id:ArtAwA:20170430230708j:plain

オブジェクトセットはメインツールバーの「選択セット作成」から設定が可能です。
(なぜ名称を合わせないんでしょうね... 3dsmaxはこういうの多い...)
オブジェクトセットに設定して何を書き出すかはリグの記事を参照ください。

【Unity+3dsmax】UnityのHumanoid用リグ - ツクロウヤ

【③について】
ジオメトリの設定やカメラなどの設定が出来ます。
アニメを行うモデルを出力する場合は、スキニングの項目にチェック(デフォルトはOFF)を入れておきます。スキニングの項目にチェックを入れておかないとUnityでSkinedMeshRendererにならないので、アニメにメッシュが追従しません。
アニメーションの項目がありますが、こちらはチェック不要です。

【④について】
座標軸とメディアの埋め込みを設定出来ます。
座標軸はアップ軸を「Y軸」「Z軸」設定できるはずですが、Unity上に取り込んでも特にデータ的な変化がありません... (バグ?)
3dsmaxの座標系はZ-UpでUnityはY-UpなのでY-Upに変換したいところですが...
メディアの埋め込みでは設定しているテクスチャなどをFBX内に含むことが可能ですが、Unityに取り込む際は基本的にはバラして入れるので、OFFにしています。

【⑤について】
出力パスなどを設定出来る箇所です。
フォルダアイコンの箇所でパスを設定出来ますが、何故かファイル名のところは手打ちじゃないと設定出来ないようになっています...
ファイルを上書きしたい場合などは同じファイル名をわざわざ入力してやる必要があります。

【⑥について】
設定の保存、読み込みが出来る箇所です。
「モデル」「アニメーションクリップ」でそれぞれ保存ファイルが独立しています。
なので、「モデル」タブで保存をした場合、「アニメーションクリップ」のタブで設定している項目は保存されません。

アニメの出力

アニメの出力はアニメタブで設定を行います。

f:id:ArtAwA:20170501001541j:plain

【①について】
Unityに出力するアニメはここでクリップ名とフレームを設定してあげます。
ココがUnityに出力した際に色々と問題があります...
・注意1:クリップ名が小文字になる
クリップ名は大文字で記載していてもUnityに取り込んだ際に、何故か小文字になる場合があります。Attack01など数字を含む場合などは大文字で取り込まれます。
・注意2:フレームが200を超える場合にUnityで読み込まれない
クリップの開始、終了フレームに200フレームを超える設定をしているとUnityに取り込んだ際にアニメが読み込まれません。FBXのファイル自体にはテキストで展開してみましたがデータが入っているようなので、もしかしたらUnity+このFBXの問題かもしれません...

【②について】

ここではアニメファイルの持たせ方を設定出来ます。
「クリップを1つのファイルに保存」「複数のクリップファイルに保存」があります。管理的には「クリップを1つのファイルに保存」でまとめて出力したいですが、200フレーム超えると読み込まれない問題のために今は「複数のクリップファイルに保存」で書き出しています。
複数保存の場合、クリップ名がファイル名の末尾に追加された形で出力されます。

それでは今回はこの辺で
(´・ω・`*)ノシ