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

MayaLT でボーン作成&スキニングをして Unity の Mecanim で動かす

3DCG Unity

Metasequia4 で作成したモデルにMayaLTでリギングしてUnityで使うまでの工程のメモを残しておきます。と言ってもこの記事にMetasequiaはほとんど関係ありません。ただ、Metasequia使いでボーン作成で悩んでる人は多い気がしています。

Maya LT

MayaLTはSteam版なら月額$30で使うことが出来ます。 Mayaは前から気になっていたので今回はこれを購入して使ってみました。

http://store.steampowered.com/video/243580/2031646?l=japanese

基本操作

  • カメラの回転: Alt + 左ドラッグ
  • カメラの平行移動: Alt + 中ドラッグ

参考 http://misakiturn.blog114.fc2.com/blog-entry-404.html

1. MayaLTでインポート可能なファイル形式の3Dモデルを用意

対応ファイル形式

Maya[.ma、.mb]、Maya LT[.mlt]、OBJ、FBX、AI、EPS

2. MayaLTにインポート

メニューの「ファイル > 読み込み」を選択し、用意したモデルをMayaLTにインポートします。

f:id:cignoir:20140628223404p:plain

3. X線表示

モデルを読み込んだら、まずは図のX線表示の項目ににチェックを入れます。

f:id:cignoir:20140628223540p:plain

こうすると、表面が半透明で表示されるのでボーンを作成しやすくなります。

f:id:cignoir:20140628223716p:plain

4. スケルトン作成

右端の「キャラクターコントロールタブ」を選択し、「作成 > スケルトン」を選択します。

f:id:cignoir:20140628223802p:plain

すると、下図のようにプリセットのボーン一式(スケルトン)が作成されます。キャラクタースケールを操作してモデルの大きさに合わせます。

f:id:cignoir:20140628223904p:plain

5. スケルトンの位置調整

移動・回転・拡縮ツールを駆使してモデルの中にボーンがはみ出ないようにスケルトンを埋め込んでいきます。

f:id:cignoir:20140628224009p:plain

6. スキンのバインド

いい感じにスケルトンをセット出来たら、図のようなパネルを出してMeshとボーンをすべて選択します。

f:id:cignoir:20140628224142p:plain

次にメニューの「スキン > スムーズバインド」を選択します。

f:id:cignoir:20140628224408p:plain

成功すると下図のように、ボーンに色が付きます。これは Metasequiaで言うアンカーを作成する作業にあたります。

f:id:cignoir:20140628224452p:plain

7. FBXエクスポート

メニューの「ファイル > ゲーム エクスポータ」を選択してFBX形式でモデルをエクスポートします。図の矢印部分は各自設定してください。

f:id:cignoir:20140628224649p:plain

8. Unityにインポート

出来たFBXファイルをUnityにインポートします。

f:id:cignoir:20140628224903p:plain

9. Rigの設定

ルートのGameObjectを選択して、InspectorでRigの設定を行います。

"Animation Type"を"Humanoid"に設定して、"Configure"ボタンを押下。

f:id:cignoir:20140628224937p:plain

ボーンが正しくセットされて、ちゃんとスキンのバインドがされていれば下図のようにすべて自動でボーンが各部位にセットされるはずです。もしうまくいってない場合はボーンの位置調整に戻ってやり直しましょう。

f:id:cignoir:20140628225142p:plain

f:id:cignoir:20140628225315j:plain

Musclesタブを選択すると下のようなポーズを取ります。

f:id:cignoir:20140628225331j:plain

おかしな動きをしないか確認してください。

これでMecanimのアニメーションを使用してモデルを動かすことが出来るようになりました。 まだ操作に慣れておらず手探り状態なので間違いやもっと良い方法等があればご指摘お願いします。