読者です 読者をやめる 読者になる 読者になる

CGメソッド

CG制作に関してのヒント

MENU

【Unity】作成したキャラをUnityへコンバートするやり方

Unity Unity-Animation Maya

f:id:min0124:20160828115925p:plain

作成したキャラをMayaからUnityへコンバートするやり方

キャラ作成について

主にコンバート方法の検証で、キャラ作成はすっとばして作成します。 一応、一から作ります。

今回は初めてMaya2016を使用。 (だいぶメニューの位置やアイコンが変わってました。。。)

準備

  1. Unityとサイズを合わせる為 Working Unitsをmeter(メートル)に。

  2. パースカメラのゆがみを抑えるため、persp>FocalLength を80に

  3. Rigging>Skelton>HumanIK>Skeltonを押して、HumanIKの骨を表示させます。(これに合わせるとUnityでもちょうどいい大きさでコンバートされます。)

モデリング

  1. 骨の位置をあたりにして、頭部は8面のSphere、体は8面のCylinder、手足は6面のCylinderのプリミティブを並べます。

  2. オブジェクトをつないで、適当に人型を作成します。 一番複雑な手の部分は、銃などの武器を持つことを想定して、親指と人差し指、その他の3つに分けます。

  3. ひたすらモデルをいじってそれなりに人型ができて来たら、そのままHumanIKのプロモーションだとつまらないので、バランス見直します。 (プロモーションの変更に合わせて骨の位置も変更するところでしたが、忘れてました。)

  4. Mesh>Cleanupをかけて、モデルを整理します。最終的に△650ポリゴン以下になりました。 (久しぶりなので、ここまで1時間強かかってしまいました。)

http://f.st-hatena.com/images/fotolife/m/min0124/20160117/20160117221131.png?1453036352

セットアップ

  1. モデルと骨を選択して、Rigging>Skin>Bind Skinを押します。設定はBind methodはGeodesic Voxel、Max Influences 2にします。

※ 本来であれば、Tポーズではなく腕を45度傾けたリラックスポーズにしてモデルを修正したり、丁寧にスキニングしたり、コントローラーをつけたりするべきですが、あくまでコンバートの検証なのでカットします。

コンバート

  1. File>Optimize Scene Sizeをかけます。ごみノードが邪魔をして、モデルの形状が壊れてしまうので余計なノードを消します。

  2. File>Send To Unity>AllでUnityのAssetへ出力します。 (専用のメニューがあるので安心です。)

Unityでの設定

  1. Projectウインドウで出力したfbxを選択します。 Rig>Animation TypeをHumanoidに変更して、Configureボタンを押します。

  2. ボーンが正しくセットされているかなどチェックします。 ちなみにMusclesタブを選択するとポーズをとるようです。(※スキニングはちゃんとしてないモデルです)

http://f.st-hatena.com/images/fotolife/m/min0124/20160117/20160117221227.jpg?1453036623

参考 qiita.com

以上です。

補足

HumanIKの調整時、いろいろ問題が起きたのでメモ

  1. シーンを開くと消したはずの骨が再生される →指の骨のチェック(定義)を外さないと消えない。

  2. シーンを開くとモデルの形状が壊れる → 骨を修正するときにPivotで移動しないと骨が元の位置に戻ろうとしてメッシュの形も崩れる

  3. コントローラーを追加すると形状が壊れる。2.の問題に関連する。一からやり直した方が早い。

http://f.st-hatena.com/images/fotolife/m/min0124/20160118/20160118014854.jpg?1453049336