>   >  Unity 2018.1正式リリース! Maya&3ds Maxとの連携ワークフロー解説
Unity 2018.1正式リリース! Maya&3ds Maxとの連携ワークフロー解説

Unity 2018.1正式リリース! Maya&3ds Maxとの連携ワークフロー解説

2017年10月Unity TechnologiesはAutodeskとの協業を発表。Maya、および3ds MaxとUnityを使った作業のワークフローが大幅に機能強化、改善された。今回はこうしたUnityとAutodesk製品との連携について、ユニティ・テクノロジーズ・ジャパンのコミュニティエバンジェリスト小林信行氏に解説してもらった。

※本記事は月刊「CGWORLD + digital video」vol. 238(2018年6月号)からの転載となります

TEXT_小林信行(ユニティ・テクノロジーズ・ジャパン)
ユニティ・テクノロジーズ・ジャパン合同会社に所属するコミュニティエバンジェリスト。UnityやMayaをはじめとする各種3Dツールの研究、ゲーム制作ノウハウの普及、ユニティちゃんトゥーンシェーダー2.0の開発をしています。
Twiter @nyaa_toraneko


EDIT_海老原朱里 / Akari Ebihara(CGWORLD)、山田桃子 / Momoko Yamada

Maya&3ds Maxとの連携がさらに強化されたUnity 2018.1

2017年10月4日のニュースリリースにて、Unity TechnologiesはFBXファイルのインポート、およびエクスポート機能を強化し、Mayaおよび3ds MaxとUnityを使った作業のワークフローを改善することを公表いたしました。その成果が先日、正式リリースされたUnity 2018.1では多く利用できるようになりました。

多くのUnity開発者は、3DモデルをUnityにインポートして利用する場合、FBXファイル形式でDCCツールからデータをエクスポートすることでしょう。しかし今までは、FBXファイルで直接扱えるデータの部分が限られており、例えばMayaで作成したカメラのアトリビュートやアニメーションをUnityにエクスポートしたいような場合には、ひと手間かけることが必要でした。今回の協業の成果として、これらの「ひと手間」をアーティスト自らかける必要なく、エクスポートする対象としてDCCツール上で指定するだけで、FBXファイルにエクスポートされ、Unityにそのままインポートできる環境が整いました。またそれだけでなく、Unity上で作成したシーンをFBXファイル形式でMayaにエクスポートし、さらにMayaで作業した結果をそのままUnityにバックポートするという、FBXラウンドトリップというワークフローも可能になっています。

これらの成果の多くは、Unity側のエンジン開発エンジニアが、Autodeskが所有するFBXソースコードに直接アクセスできる権限を得たことで実現したものです。今はMayaが先行して開発が進んでいますが、今後3ds Maxでも可能な限り機能を実現していきますので、ご期待いただければと思います。

Unity 2018.1の新規トピック 1
FBX Importerの機能強化

今回はMayaを例に解説していきます。まずUnityにFBXファイルをインポートする側(FBX Importer)からみていきましょう。FBX Importerの機能は表立っては見えませんが、UnityのProjectビュー上でFBXファイルを選択したときに、Inspectorビューに現れている選択できるプロパティがそれにあたります。今回は最新の Unity 2018.1でみていくことにしましょう。

01 Modelタブ

■32 bit頂点バッファへの対応
〈Index Format〉を「32bit」にすることで32bit頂点バッファに対応します。従来までは約6万5千頂点を超えるモデルをインポートするとUnityによって自動分割されていましたが、32bit頂点バッファを指定することで、自動分割されずに1体のモデルとして扱うことができるようになります
■可視属性のインポート
〈Import Visibility〉をONにすることで、MayaなどのVisibilityアトリビュートをインポートします。Visibilityアトリビュートのキーアニメーションにも対応しています
■カメラのインポート
〈Import Cameras〉をONにすることで、カメラのアニメーションやアトリビュートをUnityにインポートすることができます
■ライトのインポート
〈Import Lights〉をONにすることで、シーン中のライトの種類やアニメーション、アトリビュートをUnityにインポートすることができます。ただし、Mayaなどのライトがもてる設定とUnityのライトがもてる設定は完全には一致しませんので、そのあたりの調整は手動で行う必要があります

02 Animationタブ

■コンストレイン

〈Import Constraints〉をONにすることで、Mayaのペアレント、ポイント、オリエント、スケール、エイムの各コンストレインをUnityにインポートできます



  • なお、Maya上で設定したコンストレインをFBXファイルにエクスポートするには、FBXエクスポート時にオプションよりコンストレインを出力するように指定する必要があります



  • Unityでは、コンストレインはゲームオブジェクトにアタッチされるコンポーネントとして扱われます。各コンストレインコンポーネントはメニューバーより、〈Component〉メニューの〈Miscellaneous〉より選択してアタッチすることもできます。Unityでは、MayaのポイントコンストレインがPosition Constraint、オリエントコンストレインがRotation Constraintになります。その他のペアレント、スケール、エイムの各コンストレインは名称も同じです

03 カスタムアトリビュート

さらにMayaのアトリビュートエディタから独自に設定したカスタムアトリビュートの値も、UnityのAnimator経由で取得することができるようになりました。カスタムアトリビュートを設定することで、例えばMaya上で歩行アニメーションの接地のタイミングで、カスタムアトリビュートに値を入れることで、Unity側でアニメーションデータから正確に接地タイミングを取得するなどの手法が簡単に実現できるようになります

例えば、画像のようにホバークラフトの高さに合わせてカスタムアトリビュート「ShipHight」を設定し、キーを打ちます

カスタムアトリビュートアニメーションを含むFBXデータをUnityにインポートします。FBXデータをProjectビューから選択し、InspectorのAnimat ionタブに切り替えます。〈Animation Custom Properties〉という項目にチェックをして、Applyボタンを押します

FBXファイルに含まれているアニメーションデータTake 001をProjectビュー上で選択し、Animationウィンドウを開きます。すると「Animator.Ship Hight」という名のアニメーションが読み込まれていることがわかります。これがMayaからインポートされたカスタムアトリビュートアニメーションです

カスタムアトリビュートをUnity上で利用する場合、Animatorコンポーネントを使います。アニメーションデータTake001を登録したアニメーターコンポーネントを作成し、Animatorウインドウで開きます。カスタムアトリビュートの値を取得するために、Parametersタブを開き、リストに新規パラメータを追加します。 今回はFloatのパラメータを追加します

新規作成したFloatパラメータの名前を、Maya上と同じカスタムアトリビュート名「ShipHight」(ナイスネームではないことに注意してください)として、プレイボタンを押すと、カスタムアトリビュートに設定されているアニメーション値が取得できているのがわかります

次ページ:
Unity 2018.1の新規トピック 2

特集