MayaからUnityへコンストレイントを持っていく方法

3DCG

MayaのコンストレイントをUnityに持っていく方法を解説します。解説というほど大仰なものではなく、実際は単に設定するだけです(^^;。ただ作業でちょっと詰まってしまったので、自分の備忘録がてら書き記しておきます。

 

コンストレイントの簡単な解説

コンストレイントを簡単に解説します。3Dの知識をお持ちの方は読み飛ばしていただければと思います。

 

f:id:kitahana_tarosuke:20180821034239j:plain

仕事のデータをブログにアップするわけにもいかないので、Mayaのコンテンツブラウザーからテキトーに腕を用意しました。指が1本少ないような気もしますが、おそらく気のせいでしょう。

 

f:id:kitahana_tarosuke:20180821034811j:plain

ポリゴンで棒を作って持たせます。

 

f:id:kitahana_tarosuke:20180821034952j:plain

持たせるといっても、腕を動かしても棒は動きません。そこに配置してあるだけですね。

 

f:id:kitahana_tarosuke:20180821035139j:plain

腕が動いたときに棒も動くように、腕と棒を関係付けました。これがコンストレイントです。コンストレイントには色々な種類があるのですが、今回のは腕と棒の間に親子関係が成立しているので、ペアレントコンストレイントになります。

 

Mayaのゲームエクスポーターで出力

この腕のデータをUnityに出力します。Unityはゲームエンジンというよりも、最近はゲームの統合開発環境といってもいいかもしれません。

f:id:kitahana_tarosuke:20180821035611p:plain

ゲームエクスポーターの設定画面です。試しにデフォルトで出力してみます。

 

f:id:kitahana_tarosuke:20180821035829j:plain

うん、動かないですね。設定を見直してやる必要がありそうです。

 

f:id:kitahana_tarosuke:20180821040113j:plain

ゲームエクスポーターのアドバンスド設定をクリックします。画像の歯車のアイコンですね。

 

f:id:kitahana_tarosuke:20180821040306j:plain

アドバンスド設定で一番上のEdit Model Advanced Settingsにチェックを入れます。

 

f:id:kitahana_tarosuke:20180821040443j:plain

Animation(アニメーション)にもチェックを入れます。

 

f:id:kitahana_tarosuke:20180821040610j:plain

そして最後にConstraints(コンストレイント)にチェックを入れます。

 

Unityでの設定

コンストレイントを表現するためにUnityでもチェックする項目があります。

f:id:kitahana_tarosuke:20180821040917p:plain

アセットの読み込んだオブジェクト(今回は腕)を選択して、インスペクターにあるImport Constraintsにチェックを入れます。

 

f:id:kitahana_tarosuke:20180821041142j:plain

Unityでもコンストレイントが反映されて腕が動くようになりました。

 

f:id:kitahana_tarosuke:20180821041511j:plain

Unityでインスペクターを確認すると、ちゃんとコンストレイントの項目が設定されています。

 

まとめ ー アニメーションのベイク処理は必要ない?

MayaのコンストレイントをUnityに持っていくのに、アニメーションのベイク処理が必要なのかなー、と色々と試行錯誤していたのですが、意外にあっさりと持っていくことができました。実際に検証してみないと分からないこともありますねー。

 

他にも持っていく方法はあると思いますが、一例として何かの参考になれば幸いです。

 

コメント

タイトルとURLをコピーしました