Blenderで作成したキャラクターをUE4で簡単に動かせるようにするためにはボーン(アーマチュア)の配列順番やボーンの名称も重要です。
UE4上でアニメーションリターゲットは使わないための設定方法です
Blenderでアドオン「AutoRigPro」を使用して自動セットアップし、Blender上でアニメーションを付け、それをUE4へ持っていくだけなら問題ありませんでした。
ただ、UE4のモーションが付いたスケルトンへ合わせようとした時にエラーが出ました。
AutoRigProがあれば自動でなんでも出来るわけではないのは分かっていましたけど。。。そもそも正解が分からないまま試行錯誤でとりあえずやってみるスタイルは後で痛い目をみます。ボーン関連は。
ということで、再度AutoRigProでのセットアップを見直しました。UE4へ持っていくときの設定は下記↓の記事でまとめています。
(備忘録記事なので今後追記修正する可能性がありますのでご了承ください)
目次
AutoRigProを使う上での参考リグデーターは?
そもそもボーンの配置場所や角度とか正解が分からないから合わせようがないと思ってたら、アドオンのTOPページにありました(^▽^;)
FAQページ上でいくら探してもなかったけどFAQページ上でも後にリンクを発見w
リグが入ったマイクさんです。参考にしたのは「mike_fbx.blend」。ダウンロードしたら2つフォルダがあったので私は日付の新しいデーターで確認。
「参照ボーンのレイヤー」と「座標軸」を表示させ、この状態をお手本にしました。
ボーンを配置設定(修正、追加)する段階とは?
※下記は顔のリグも設定した場合です
- オブジェクトモードで、リギングしたい3Dキャラクターを選択
- 「AutoRigPro」パネル中の「Auto-Rig Pro:Smart」の「Get Selected Objects」をクリック
- 首、顎、、とマーカーを付けていく
- 「Facial Setup」をクリック
- 公式ページにある見本の画像を参考にして、顔のマーカーを配置していく
- 目玉のオブジェクトを「Eyeball Object」で指定。単一(One)または2つの個別のオブジェクト(Two)かも指定
- 「Go!」をクリック
今回はこの後の状態からのお話です。
「Go!」をクリックすると自動で参照ボーン(骨格)がセットされます。この後は手動で修正&追加(私のようにしっぽとはがあれば)が必要です。
また、UE4上で動きを付けたり(Blender上で設定したアニメーション以外に)したい場合は背骨の追加(3から4へ変更)が必要です。
では、ボーンを修正&追加していきます。
と、その前にこのアドオンを使用するうえで理解しておきたレイヤーの表示方法↓
ボーンのレイヤー分け
どうやら、参照ボーンというのはいつも自分で作成している通常のボーンに当たるもの。という認識でOKなのかな。
ボーンの修正や追加をしたいときは参照ボーンのレイヤーを表示させます。
追加したボーンは31番のレイヤーに格納されるもよう。
ボーンの修正&追加が終わって「Match to Rig」をクリックしたら
- レイヤー0:メインコントローラー
- レイヤー1:セカンダリコントローラー
が生成される。という認識です。
修正&追加の注意点
自動で配置された自分のキャラのボーンと比較してみると所々位置や角度がずれていました。特に手や顔回りの修正が必要でした。
手のボーンに関しては特に自動配置では上手くいき辛かったです。上手くいかなかったときはまずマーカーを付け直してみます。
「Restore Last Session(最後のセッションを復元)」をクリックすれば、マーカーの位置の付け直しができます。
マーカーをいくら付け直しても上手くいかない場合は「Voxel Precision」の数値をいじってみると良いらしい。。
それでも上手くいかない場合はポリゴン自体の調整をした方がベター。私の場合、手動で無理に調整したらUE4へ持っていった時に骨が変な方向へひん曲がったりしたのでTT。
自動で参照ボーン(骨格)がセットされた後の状態から、ボーンの修正や追加をしていきます。
ボーンの回転座標をチェック
参考例のマイクさんのボーンと見比べながらボーンの角度を確認しました。
修正や追加するときはボーンのローカル座標を表示させると分かりやすい。オブジェクトデータープロパティの「座標軸」にチェックを入れて確認しました。
しっぽのボーンを追加した
ボーンの追加は通常の方法と同じでEキーで押出しでOK。オクラのしっぽや頭のガクのボーンを追加しました。追加したボーン名はカスタムプロパティで「cc」をタグ付けするのを忘れないこと!(Blenderだけで完結する場合は必要なし)
ボーンを選択し、カスタムプロパティの「追加」をクリックすると「編集」できます。
プロパティ名に「cc」を入力し、OKをクリック。
ツイストボーン数を変更
この変更は、腕や脚をねじった時に辺に圧縮されたりしないようにするため。
左右の腕と脚に設定しました。
UE4へエクスポートする場合は(Unityの場合は1つでOKだそう)複数のツイストボーンが推奨されています。
「Limb Options」内の「Twist Bones」を1から4に変更しました。
手の5本指のボーンが必要ない時
腕のボーンを選択して「Limb Options」内の
Thumb、Index、Middle、Ring、Pinkyのチェックを外す
UE4用にSpine(背骨)を追加
アンリアルエンジンにHumanoidのRigとしてエクスポートするには、Spine(背骨)を4つにする必要があります。
「APR」の「Rig」タブ中の「Edit Reference Bones」をクリック。(この操作は「オブジェクトデータプロパティ」中のレイヤー内の参照ボーンを表示させる操作と同様)
- spineのどれか一つを選択して「Limb Options」をクリック
- Spine数を3から4へ変更
- OKをクリック
つま先から足全体を回転させるコントローラーを追加
必要なければ追加しなくてOKなオプションです。あったらいいなと思って追加しておきました。
脚のボーン(どれでもOK)を選択し「Limb Options」内の「Toed Pivot Controller」にチェック。
Secondary Controllersを追加
UE4にエクスポートするなら「Twist (Exportable,best)」を指定。Blender内で完結する場合は「Additive」でOK。
足幅にボーンを合わせる
足元にある小さなボーン3つを足の幅に合わせます。
肘、膝の方向を確認
「Show IK Directions」にチェックを入れて、ボーンを選択したら、緑の線で肘や膝の向きが正しいかどうか確認できます。
その他、
- 必要ないボーンは削除ではなく無効化する
- 肘や膝は少し曲げた方がいい
- 4足歩行の場合の設定方法 等
詳しくは公式FAQを確認して下さい。
参照ボーンの修正&追加作業が終わったら、次はリグを生成し、3Dオブジェクトとリンクさせます。
スキニング
「Match to Rig(参照ボーンから最終的なリグを生成)」をクリック後、リグが生成されます。
※「Edit Reference Bones」をクリックすると、編集モードに戻るので、いつでも参照ボーンの変更ができます。
と、この時点ではリグを操作してもオブジェクトは追従してくれない状態。
リグが生成されたら、3Dオブジェクトと紐づけます。
- オブジェクトモードに切り替えて、3Dキャラクターを選択(目玉以外のオブジェクト)
- 次にShiftを押しながらリグ(メインコントローラーとセカンダリコントローラーのレイヤを表示させた状態)を選択。選択する順番は重量!
- 「バインド」をクリック
バインドをすると任意で作成していた頂点グループが削除されてしまうので鍵マークでロックしておく - 目玉を選択して「オブジェクトデータプロパティ」中の頂点グループに「c_eye.r」「c_eye.l」を作成
- 編集モードで右目を「c_eye.r」に割り当て、左目を「c_eye.l」に割り当てる
- 「モディファイアー」から「アーマチュア」を作成しオブジェクトに「rig」を指定する(目玉に他のモディファイアーをかけている場合は、これよりアーマチュアのモディファイアを上に設定する)
これで自動セットアップは終了。
バインド後の調整
脚と腕のストレッチの値を変更
自動ストレッチの数値が有効になっているので、脚を移動させるとびょ~んっと伸びてしまっています。「ツール」タブの「Auto Stretch」の数値をゼロに変更しました。
公式サイトの説明では腕のストレッチの値もゼロにするとなっているけれどツールの「Stretch Length」を1.0から数値を下げると腕の長さが変わってしまう・・・そもそも0.5までしか下げられない。うーん、、腕についてはそのまま1.0でやってみました。
頂点グループのウェイト割当て
私の場合、歯に割り当てられた頂点グループが上手くいっていなかったので変更しました。
詳しくは下記↓の記事で
ウェイト調整は最小限に
リグを動かしておかしな箇所はウェイト調整していきます。
自動セットアップだけでもほぼ問題ないはず。極端に調整が必要な場合はオブジェクトの方の修正が必要な場合が多いようです。ウェイト調整はなるべく最小限に終わるようオブジェクトやボーン調整を優先します。
私の場合、自分で追加したボーンについてはがっつりウェイト調整が必要でした。
追加したボーンの表示/非表示
「追加したボーンに該当するオブジェクトにアニメーションを付けたいのにボーンがない(゚д゚;) 」
こんな時は、レイヤーが非表示になっているだけ。画像箇所に格納されているのでクリックして表示します。
バインド後に参照ボーンやリグを修正したとき
参照ボーンを表示し編集モードをクリック(もしくはEdit Reference Bones をクリック)でボーンを修正or追加する。
再バインドの必要はない。
※バインドを解除すると修正したウェイト調整もリセットされる
但し、「Match to Rig」を再度クリックする!!(←これをしていなかったため、エラーでエクスポート出来ず小一時間悩みました)
※再度「Match to Rig」を行ってもリグの修正箇所はそのまま&ウェイトペイントで調整した箇所もそのままだった
Match to Rigをクリックすると、すべての変更が適用されます。バインド後にSecondary Controllers(セカンダリコントローラモード)でTwistについて変更をした場合、メッシュを再バインドする必要があります。そうしないと、一部のボーンウェイトが正しくなくなります。
まとめ
今回はUE4上でアニメーションの操作をすることができるようにしたボーン(アーマチュア)の調整方法でした。(Blender上でアニメーションを付けて、それをUE4へ持っていくだけなら背骨の追加等せずとも問題なくアニメーションを使用できました)
アドオンを使いこなすのも難しいですね。でも楽しんで覚えていきます!
続いて、UE4へ持っていくときの設定は下記↓の記事でまとめています。