hum-id

Mixamoからアニメーションデータを無料でUE4に持ってくる手順ー後編

前回からの続きです。

さて、mixamoの基本的な使い方や注意点がわかったと思うので、今回はいよいよUE4上でアニメーションを活用するための具体的な方法を紹介します。

前回さらっと触れましたが、mixamoのデータはそのままでは再利用に必要な共通化「リターゲティング」が出来ないので、ほとんどその対応になります。

なぜリターゲティング出来ないのか

mixamoのFBXデータには、リグ全体の移動量をコントロールするRootボーンがついていないからです。UFOキャッチャーに例えると、マジックハンドを吊り下げる棒がルートボーンの様なもので、マジックハンドそのものの移動量を決定します。一方Rootボーンが存在しないリグは空中に浮いたマジックハンドが自推して移動しているようなデータ構造です。この場合、マジックハンドには腰ボーンが相当します。UE4のリターゲットで使うことになるEpic標準リグ(humanoid)はRootボーンが存在することを前提に設計してあるのでmixamoのボーンをリターゲット出来ないんですね。

ダウンロード、インポート

原点(オレンジ色の点)の部分にルートボーンが無いのが確認できますね。

ルートボーンを作る

移動量がないInPlaceのモーションの場合、全体の動きが0であるため、動かないルートボーンを追加すれば整合性が合います。

Inplaceではなく、移動量のあるアニメーションの場合はルートボンに(通常は)高さ以外のキーフレームを移動する必要があります。

リターゲットの準備

Blenderからの出力はボーンをオブジェクトモードで選択した状態でFBX7.4binaryで書き出したものをUE4のデフォルト設定で読み込めば大丈夫です。

さて、いよいよリターゲットです。わかりやすいようにThirdPersonテンプレートから新しいシーンを開きます。先程のFBXを読み込み、ブラウザーに出てきたスケルトンをダブルクリックしてスケルトンの編集ページへ移動します。

Show Retargeting Optionをオンにします。

Armature ボーンを右クリックして、Recursively Set Translation Retargeting Skeltonをクリックして、全てのボーンを一端Skeltonに設定します。

次に上から2つのArmature,Bone(ルート)、をAnimationに。3つめのHipsをAnimationScaledに変更します。*最新版ではRootの上のArmatureは省かれるようです。

リターゲットマネージャータブに移動し、Select Rig のドロップダウンリストから“Humanoid”を選びます。UE4のマネキン先生に利用されているデフォルトのリグです。

ここからがリターゲットの本番です。AutoMappingを押すと自動でリターゲットしてくれますが、名前が一致していないのでめちゃくちゃに割り振られて逆に面倒くさいので押さないでください。

と、命名規則に従ってリターゲットしていきます。また、指先なども設定したい場合はShow Advancedをクリックして、代表的なボーン以外の構造もリターゲットしていきます。IKやTwistの名前が入っているボーンは必要ありません。

修正が終わったらこれで準備完了です。お疲れ様でした。

リターゲット

ちゃんと標準リグでリターゲットができているのか、別のリグでアニメーションを共有できるか確認してみましょう。マネキン先生へmixamoのデータを渡してみることにします。

まずはマネキン先生も共通のリグでリターゲット出来るようにコンテンツブラウザManequin – Character – Mesh内にスケルトンモデルをダブルクリックします。リターゲットマネージャーへ移動し、こちらもSelectRigからHumanoidリグを選択します。マネキン先生はEpicの刺客ですので、Humanoid完全対応です。細かい設定は必要ありません。

いよいよリターゲットです。

Blender経由でもってきたアニメーションファイルを右クリック。メニューからDupulicateAnimBP and Retargetを選択します。ここでマネキン先生のリグを選んでRetagetボタンを押します。

お分かりいただけただろうか……?

もっとわかりやすいアニメーションにすれば良かったと最後の最後に後悔してますが、ちょっとオカマっぽくなったマネキン先生ウォークをお楽しみください。

これでリターゲット作業は完了です。mixamoから好きなファイルをじゃんじゃん持ってきてみましょう。Blender上で髪の毛や揺れ物のボーン等を追加したり、ウェイトやメッシュの調整なんかをしてもちゃんと動くはずです。
かなり駆け足で解説しましたので不明な点が出るかもしれません。質問があればコメントやツイッターにどうぞ!

おまけ。マネキン先生のAnimationBPをリターゲットすることでmixamoで自動リグ付けしたキャラクターをすぐサンプルシーンに適応できます。