【Unity】3Dソフトで作成したキャラをUnityへインポートする方法

unity-make-3dchara-import-unity

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

スポンサーリンク

準備

  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時間強かかってしまいました。)

https://i2.wp.com/f.st-hatena.com/images/fotolife/m/min0124/20160117/20160117221131.png?w=1238

スポンサーリンク

セットアップ

  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タブを選択するとポーズをとるようです。(※スキニングはちゃんとしてないモデルです)

https://i1.wp.com/f.st-hatena.com/images/fotolife/m/min0124/20160117/20160117221227.jpg?w=1238

参考
qiita.com

以上です。

スポンサーリンク

補足

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

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

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

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

https://i1.wp.com/f.st-hatena.com/images/fotolife/m/min0124/20160118/20160118014854.jpg?w=1238

コメント