今回はBlenderで作成したオリジナルキャラクターをUnreal Engin 5(UE5)で動かす方法をご紹介します。
キャラを動かす方法は色々ありますが、本記事ではUE5から追加されたのIK Retargeterという機能を使います。
この機能を使うと、他のキャラからアニメーションを簡単に流用できます。慣れると10分くらいでサクッと設定できます。
この記事ではゲームプレイヤーにオリジナルキャラを設定しますが、一部不具合が生じるため、その解決方法はvol.2の記事でご紹介しました。
Blenderの無料アドオンで簡単に解決できるので、実際に手を動かす場合は先にvol.2を見て不具合を解決することをおすすめします。
事前準備
Blenderでオリジナルキャラクター作成したら、mixamoでT-PoseのRigを設定したデータを準備します。Rigとは人間でいう骨のことです。
Blenderで作ったデータをmixamoで使う方法は下記の記事でまとめています。
Unreal Engin 5(UE5)にオリジナルキャラクターをインポート
まずはUE5にデフォルトで用意されているThird Personというゲームステージを開きます。
立ち上がったら左下の「Content Browser」の「Content」フォルダ内に新規フォルダ(画像では「MyCharacter」)を作成する。
作成したフォルダを選択した状態で「Import」をクリックし、準備したオリジナルキャラクターのFBXを選択。
これでインポートは完了です。
オリジナルキャラクターにIK Rigを設定
IK RigとはRigを大まかにグループ化することで、一つ一つのRigに設定をすることなく大体の動きを合わせてくれる大変ありがたい機能です。
IK Rigファイルを作成
「MyCharacter」フォルダ内で右クリックを押し、「Animation」>「IK Rig」>「IK Rig」を選択。
作成された「IK Rig」ファイルを開く。
開いたウィンドウの「Preview Mesh」でインポートしたモデルを探して選択します。
IK Rigファイルを流用元に合わせて設定
続いてアニメーションを流用するキャラのIK Rigファイルを開きます。
場所は「Content Browser」>「Characters」>「Mannequins」>「Rigs」>「IK_Mannequin」です。
2画面が開けたら流用元の設定を参考に、オリジナルキャラのRigにIKを設定していきます。
「Hierarchy」でRigを選択し、右クリックを押すことで設定ができます。設定の詳細は動画を参照してください。
IK Goalを追加
最後に流用精度を上げるため、IK Goalを設定します。
まず左下の「Add New Solver」から「Full Body IK」を選択し追加。
HierarchyのHipsを選択した状態で右クリックし「Set Root Bone on Selected Solver」を選択。
あとは両腕のRigの最後(LeftHandとRightHand)・両足のRigの最後(LeftToe_EndとRightToe_End)にIK Goalを追加していきます。
追加する方法はRigを選択した状態で右クリックし「New IK Goal」を選択すればOKです。
他のキャラクターのアニメーションを流用する – IK Retargeter –
次はいよいよアニメーションを流用する設定をしていきます。
IK Retargeterファイルを作成
まずはContent Browserの「MyCharacter」フォルダ内で右クリックし「Animation」>「IK Rig」>「IK Retargeter」を追加します。
追加した「IK Retargeter」をダブルクリックし、開いたウィンドウで「IK_Mannequin」(流用元のRig)>「IK_Ron」(オリジナルキャラのRig)の順番で選択。
ふたつのキャラが重なった状態でウィンドウが開きます。これでは調整がしにくいので、右上の「Detail」>「Preview Settings」>「Target Mesh Offset」のX軸を150に変更。
キャラの初期ポーズを合わせる
次に流用精度を上げるため、オリジナルキャラの初期ポーズを流用キャラに近づけます。
オリジナルキャラを選択した状態で左側の「Edit mode」をクリック。
調整したいRigを選択し、角度を調整していきます。
オリジナルキャラクターをゲームで動かしてみる!
ここまででオリジナルキャラにアニメーションをつける作業は完了しました。
せっかくなのでゲームで動かしてみましょう!
アニメーションの指示書(Blueprint)を複製する
アニメーションの指示書は流用元のファイルを複製してサクッと作成します。
「Conetnt Browser」>「Characters」>「Mannequins」>「Animations」>「ABP_Manny」を選択し、右クリック「Retarget Animation Assets」>「Duplicate and Retarget Animation Assets/Blueprints」を選択。
開いたウィンドウで作成したIK Retargeterファイル(動画では「RTG_Ron」)を選択し、「Retarget」をクリック。
ズラーとアニメーションファイルが作成されます。これで指示書は完成!実際に使うのは「ABP_Manny」のみです。
指示書とキャラクターをゲームプレイヤーにセット
最後に先ほどの指示書をゲームプレイヤーにセットします。
まずは「Conetnt Browser」>「ThirdPerson」>「Blueprints」>「BP_ThirdPersonCaracter」をダブルクリック。
開いたウィンドウで、上部のタブを「Viewport」に切り替え。
右側の「Mesh」でオリジナルキャラを選択(動画では「T_Pose_Ron」)。
「Animation」の「Anim Class」で先ほど作成した指示書「ABP_Manny」を選択…。するのですが、「ABP_Manny」は複製のため同じ名前が2つ並んでいます。どちらかを選択してキャラのポーズが変わった方が正しいファイルです。
ゲームでオリジナルキャラを操作してみる!
上部の「再生ボタン(▶️)」を押すと…ゲーム画面にオリジナルキャラクターが!!
画面を一度クリックすると操作できます。A Dキーが左右移動。W Sキーが前後移動。スペースキーがジャンプです。
動いたー!!…のですが、着地がなんかおかしい…。
少しググってみると、どうやらmaximoを使ったRigでIK Retargeterを使うと起こる問題らしい。
ということで、次回はこの問題を解決する方法をまとめてみます!
まとめ
UE5のIK Retergeterを使うと、すごくスムーズなアニメーションをオリジナルキャラクターにつけられます。
ただしmaximoで作成したRigの場合は、ひと手間を加えないと問題が起こることがわかりましたので次回記事で解決します。
不明点などあれば、気軽にTwitterで質問してください!
コメント