Rigify を Unity へインポートする
注意
Blender 2.79 の Rigify を使う場合はRigify(2.79) を Unity(2018.1.0b4) へインポートするを参照。
Blender 2.79 で Rigify は Pitchipoy に統合された。そのためこの記事の内容は使えない。古いバージョン Blender はhttp://download.blender.org/release/からダウンロードできる。
リグが不要な場合
Blender でアニメーションを作成しないならば、Rigify はオーバースペックだ。 ボーンだけが欲しい場合はBlender から Unity の Humanoid 互換で fbx をエクスポートするを参照。 リンク先の記事ではボーンも配布している。
Rigify を Unity へインポートするための関連情報
Unity のバージョンは 5.4、Blender のバージョンは 2.77a。
Unity ユーザー向けの Rigify の使い方は以下のリンクを参照してもらうとして、 この記事ではリグの作成前の時点からの作業を解説する。
Blender と Rigify の使用(Unity 公式)
リグ生成前の設定
Rigify がバージョンアップして、腕や脚の中間に tweak ボーンが追加された。 これは Complex Arm(Leg) Rig のチェックを外せば無効にできる。
ポーズモードで metarig の上腕や腿を選択し、 Properties > Bone > Rigify Type の Complex Arm(Leg) Rig のチェックを外す。
リグ生成後設定
metarig の削除
metarig がエクスポートされないように、metarig を削除する。
デフォームボーンの設定
Rigify の生成するデフォーム用ボーンは使わない。 これを使うと余計なボーンが大量にエクスポートされてしまう。 代わりにボーン構造の単純な ORG- と名前のついているボーンを使う。 Rigify はこのボーンを IK/FK ボーンのコピー先として使っており、 アニメーションに使用しても問題ない。
DEF- ボーンの無効化
DEF- ボーンのデフォームを無効にする。 ポーズモードでレイヤー 30 を選択し、A キーですべて選択する。 Shift + W > Deform を実行する。
ORG- ボーンをデフォーム用ボーンとして使う
ORG- ボーンをデフォーム用ボーンに設定する。 レイヤー 32 を選択し、A キーですべて選択する。 Shift + W > Deform を実行する。
以下のボーンはデフォーム用ボーンとしては使わないのでデフォームのチェックを外す。
WGT- を削除する
Rigify はリグのコントローラー識別のためのメッシュを作成するが、それを削除しない。 デフォルトではそれらもエクスポートされるためそれらを削除する。 これらを削除してもリグのコントローラーが見えなくなったりはしない。
オブジェクトモードでレイヤー 20 を表示し、Select > Select Pattern... を選択する。 WGT-*と入力し、選択されたメッシュを削除する。
ウェイト付け・アニメーション作成に関する Tips
これでウェイト付けとアニメーション作成とができるようになる。
Unity のデフォルトのフレームレートが 60fps なので、アニメーションのフレームレートを 60fps にする。
Blender のアニメーションのスタートフレームが1であることに注意する。
エクスポート時の設定
メッシュにトランスフォームを適用する
これをしないと Unity 上でメッシュが正しく表示されないことがある。 Object > Apply > Rotation & Scale にある。
FBX のエクスポート設定
以下の項目をチェックする。
- 座標軸の設定
- FBX のデフォルト単位に再スケールしないようにチェックを外す
- Apply Modifier にチェックを入れる
- Only Deform Bones にチェックを入れる
- Add Leaf Bones のチェックを外す
Unity での設定
インポートした FBX を選択し、Inspector の Rig タブで Animation Type を Humanoid にする。 自動設定に失敗するので Configure を押して、手動で設定する。 Configure を押しても設定モードにならないときは Unity を再起動する。
腕・spine・chest・指を手動で設定する。