アニメーションに関する FAQ
Playables API

Blender と Rigify の使用

現在 Blender にはフリーのアドオンである Rigify が同梱されていて、これにより自身のモデルに二足歩行キャラクターのリグを作成して Mecanim と連動させることができます。新しいゲームおよびカジュアルゲームの開発者にとって非常に便利です。

このガイドでは 3D モデルを Rigify を用いてリギングして Unity の Mecanim にインポートする方法を示します。Rigify は自身のモデルに対して完全なリグを提供し、Armature をテンプレートとして使用することで、ヒューマノイドキャラクター向けの素晴らしくシンプルなリグを作り出すことができます。始めるには Blender 上で Rigify 機能を使用できるように有効化します。次に 3D モデルをインポートしてモデルおよび Armature をセットアップして後続で発生しうる問題をあらかじめ回避します。一回すべてをセットアップした後はボーンを配置してメインリグを生成できます。もっとも複雑なのはメッシュを使用したボーンに対してスキングしたうえで、正しく親子関係が設定されていることを確認し、最後に(いくつかのテストと微調整の後) Unity にインポートできます。

必要なソフトウェア:

  • Unity

  • Blender

  • 3D ヒューマノイドモデル (MakeHuman はモデリングでのサポートが必要な場合に便利です)。

Rigify の有効化

最初に Rigify アドオンがインストールされ Blender で有効化されていることを確認する必要があります:

  1. File > User preferences に移動します。
  2. Addons タブを選択し、最下部までスクロールして Rigify の隣にあるチェックボックスをクリックしたうえでデフォルトとして保存します。
  3. “ Save User Settings ”をクリックします

アドオンをアクティベートし、必要なボタンや機能にアクセスできます。デフォルトに設定すると、すべてのあなたの先のプロジェクトで含まれます。

アーマチュアの設定

テンプレートとして Rigify で使用する基本的なヒューマノイドリグを入手します。このリグはとても基本的ですが Rigify が相対的なボーンの位置を囲うようにして構築できるようになります。

  1. Add Human Armeture: Add (SHIFT + A) > Armature (Human) に移動します。
  2. Armature およびモデルが両方とも( 0, 0, 0 )を中心としていることを確認します。
  3. もしモデルをスケールまたは移動した場合、Armature およびモデルのスケールおよび/または Transform の値を確実にリセットしておきます。
  1. Edit モードに入ります (Tab キーを押下)
  1. ボーンをモデル上のしかるべき位置に配置します。
  2. “X-Ray” を使用して、モデルを透過してボーンが表示されるようにします。
  3. 完了した後、Object モードに戻します
  4. Armature を左右のどこか作業の邪魔にならない位置へとよけるために移動させます。 (もし Make Human を使用している場合、多くの異なるメッシュをひとつの完全なメッシュに Join したい場合があります。これをするためにはすべてのメッシュを選択して Ctrl + J を押下します)

Rig の生成

  1. Armature が選択されている時に、右端にある Object data タブをクリックします。
  2. Rigify Buttons セクションを見つけ、下にある Generate をクリックします。
  1. Pose モードに切り替えて次の手順を実施します:
  1. (A) キーを押下して、リグを選択し、(H) キーを押下して不必要なレイヤーを隠します。

  2. 下にある Armature レイヤーを Shift を押しながらクリックします。

これにより Deformation ボーンが表示されます。これらの Deformation ボーンはメッシュをスキニグしてウェイトペイントするのに必要です。

もしすべての Deformation が表示されない場合、“Auto Run Python Scripts” オプションの File > User Preferences > File の再確認と再生成を行ってください。

WGT ボーンの削除

右上のシーンの階層上にたくさんの WGT ( WGT はウィジェットの略) と名前のついたボーンができることに気が付くはずです。

これらのボーンはメッシュにスキングされずまったく使用されないものであるため、これらを削除することで Unity プロジェクトの中に割り当てされないメッシュができることを回避する必要があります。ボーンを右クリックして “Delete” を選択します。これをシーン中の各ボーンに対して行います。

リグをモデルに対してスキニングする

  1. モデルを Deformation ボーンに対してスキニングする
開始する前に、Object モードであることを確認し、Mesh を選択し、それからシフトキーを押しながら Rig を選択します。Ctrl + P を押し、Armature deform > With Automatic weights の順に選択します。 

これによりボーンに対してメッシュが割り当てられ Vertex Group が作成されます。これがスキニングプロセスで使用するものです。 (Blender でスキニングを行う知識がない場合は ここ にあるチュートリアルを行ってください。) Deformation ボーンは各々上部と下部の手足に二つのボーンを使用することに気が付くはずです。二つめのボーンはスキングせず、正しく Mecanim が正しくリンクできるように親子関係を確かめます。

  1. 肩を “DEF-shoulder.R” と “DEF-shoulder.L” にスキニングして、親が “ORG-ribs” であることを確認します。

  2. 腕の上部を “DEF-upper arm.R.01“ と ”DEF-upper arm.L.01” にスキニングして、親が各々 “DEF-shoulder.R” と “DEF-shoulder.L” であることを確認します。

  3. 腕の下部を “DEF-forearm.R.01” と “DEF-forearm.L.01” にスキニングして、親が各々 “DEF-upper arm.R.01“ と ”DEF-upper arm.L.01” であることを確認します。

  4. 脚の上部を DEF-thigh.R.01 と DEF-thigh.L.01 にスキニングして、親が “ORG-hips” であることを確認します。

  5. 脚の下部を DEF-shin.R.01 と DEF-shin.L.01 にスキニングして、親が各々 “DEF-thigh.R.01” と “DEF-thigh.L.01” であることを確認します。 これにより X が表示されていないボーンにスキニングされたリグが得られます。余分なボーンは完全にスキングしないようにします。

    手にも同じことを行います。Mecanim は手と各指のボーンだけを取得するということに気を付けてください。つまり、下の図のように骨に、モデルの手を指と貫通しないでスキ二ングします。

  6. 同様に、手は正しいボーンを親とする必要があります。手を “DEF-hand.R” と “DEF-hand.L” にスキニングして親がそれぞれ “DEF-forearm.R.01” と “DEF-forearm.L.01” であることを確認します。

各々の指と親指について、次のボーンを使用します(例は左手):

* Thumb: "DEF-thumb.01.L.02", "DEF-thumb.02.L", "DEF-thumb.03.L"
* Index: "DEF-finger_index.01.L.02", "DEF-finger_index.02.L", "DEF-finger_index.03.L"
* Middle: "DEF-finger_middle.01.L.02", "DEF-finger_middle.02.L", "DEF-finger_middle.03.L"
* Ring: "DEF-finger_ring.01.L.02", "DEF-finger_ring.02.L", "DEF-finger_ring.03.L"
* Pinky: "DEF-finger_pinky.01.L.02", "DEF-finger_pinky.02.L", "DEF-finger_pinky.03.L"

各々の指のボーンは常に一つ手前のボーンを親にして、最初の指のボーンは手のボーンを親にすることに注意することで Mecanim がスムーズに正しくリンクできるようになります。

エクスポートおよびインポート

モデルを .fbx としてエクスポートしてプロジェクトとは別のフォルダーに配置します。メニュー上では file > Export > AutoDesk FBX (.fbx) > Export です。完了した後、Unity にインポートして Mecanim とリンクされるようにできます。

  1. Unity を開き、“Rigify Test” という新規のプロジェクトを作成します。開いた後にモデルをプロジェクトウィンドウにドラッグ&ドロップします。

  2. モデルのプレハブを Project ウィンドウで選択してインスペクター上で Rig をクリックします。Animation Type を Humanoid に変更したうえで Configure をクリックします。

    すべてのボーンがきちんと Mecanim にリンクされます。

  1. すべてのボーンが正しい位置にあることを確認してエラーがないことを確認します。
アニメーションに関する FAQ
Playables API