その3:走る・飛ぶ Blenderで作ったキャラをUE5マネキンさんと置き換えよう!

※本サイトはアフィリエイト広告を利用しています。

マリオ風ゲームを作りながらUEを学びましょう。

追記:UE5.4でリターゲット部分がもっと簡単になりました。UE5.4の方はこちらの記事で。

UE5.3.2で、サードパーソンテンプレートのマネキンさんの走る&飛ぶ機能やそのときのアニメーションをBlenderで作った骨なしキャラに流用させる方法を説明します。

走る・飛ぶ機能自体はサードパーソンテンプレートそのままで、外部3Dモデルの取り込みがメインです。

各所で色々と方法は紹介されているのですが、いざやってみようとすると案外難しかったり、情報が足りなかったり、古かったり、色々つまずきました( ;∀;)

本記事内容を動画でも説明しました

誰かのお役に立てれば幸いです。では行きましょう!

Blender出力→Mixamoでリグ付け

BlenderからはFBX形式で出力済とします。

Blenderで作ったファイルをエクスプローラーで選択

Mixamoにログインし、右の「UPLOAD CHARACTER」キャラクターのアップロードをクリックしてfbxファイルをドラッグアンドドロップで入力します。

Mixamoに自作のキャラクターモデルを入力する選択画面
選択したモデルをドラッグアンドドロップでMixamoのモデル入力画面に設定

結構単純でポリゴン少ないモデルですが、取り込みに多少時間かかりました。

Mixamoの取り込み待ち進捗ダイアログ

無事、取り込まれました。テクスチャは読み込まれてないみたいですが気にしなくてOKです。

Mixamoに取り込まれた自作のBlenderモデル 玉ねぎちゃん

これがキモの自動リグ機能。正面から5か所選択するだけで、自動でリギング作業をしてくれます。

自動でリグを設定してくれる機能に、あごや手足の関節などのキャラクターの関節になる重要箇所を設定している

Next押してちょっと待てば、
下記のように振り向きポーズ(Mixamo上で選択中のアニメーション)をとってくれるようになりました。
カワ(・∀・)イイ!!

自動でリグ設定されて振り向きポーズをとっている3Dモデル玉ねぎちゃん

アニメは何でもいいのでSkin設定を「With Skin」にして「DOWNLOAD」でリグのついた状態のモデルを無料でゲットできます。

With Skinの設定を選んでリグ付けされたモデルをダウンロードする画面

Mixamo→Mixamo ConverterでUE向けに変換

MixamoのモデルをそのままUEに取り込むとうまくいかないらしいのでMixamo Converterという変換ユーティリティでUE向けに変換します。詳細は割愛します。

Mixamo ConverterにMixamoで出力したモデルを登録して、UE5に取り込めるように変換する画面選択

Mixamo Converterの出力モデル→UE5取り込み

ようやくUnrealEngineの画面へ。

コンテンツドロワーにドラッグアンドドロップでMixamo(またはMixamo Converterで変換した)FBXモデルファイルをインポートします。

インポート画面は色々設定ありますが、Blender4.0 x UE5.3.2ではデフォルトで問題ないかと思います。(なにかしら警告はでますが。)

UE5に外部モデルを取り込むインポート画面

「全てインポート」した状態。メインのスケルタルメッシュというのがゲームに使えるキャラクターですね。マテリアルやテクスチャも紐づけられて取り込まれているので最初から色ついた状態で取り込まれました。

取り込まれたモデル関連ファイル一覧 スケルタルメッシュのほかにマテリアルやテクスチャと物理アセットも含まれている

スケルタルメッシュ(SM_Tamachan)をレベル上にドラッグアンドドロップで配置してゲーム開始してみたところ、無事Tポーズの玉ねぎちゃんが現れました。(ΦωΦ)フフフ…

スケルタルメッシュをレベル上に配置してゲームをプレイした状態 マネキンのとなりにTポーズの玉ねぎちゃんが立っている

慣れればここまで数分の作業です。

マネキンさんのアニメーションを自作キャラに流用

ここからがちょいムズだったリターゲットの話です。「猫でもわかる」のYouTube動画見てやってみたものの何かとおかしなことになっちゃって、マニュアル読んでも日本語なのか英語なのかルー語なのかよくわからずちゃんと理解できず

Webやら英語のYouTube動画などを調べまくりで何日かかかりましたが、どうにかできました。

スケルタルメッシュ右クリックからIKリグを作成します。

スケルタルメッシュを右クリックからIKリグを作る選択画面

できたファイルを開いて編集し

左の階層のところでHipsを右クリックからRetarget Rootに設定

その下のSpineからSpine2までをShift+クリックで選択し右クリックから「新しいリターゲティングチェーン…」で「チェーンと目標を追加」

IKリグの編集画面で新しいリターゲットチェーンとして背骨部分のチェーンを作ろうとしている
新規リターゲッティングチェーンの画面

チェーンを追加を案内していたり、目標も追加していたり、チェーン名も自分でつけるなどいろいろな情報がありましたが、色々試した結果、チェーン名は自動でOK、チェーンだけでなく目標(設定後の黄色い四角)もあったほうがアニメ設定するのによさそうというのが私の現時点の結論です。

すべて設定後の右下のチェーン状態(玉ねぎちゃんには手足の先を作ってないのでその辺は割愛しています)

チェーン構築完了状態のチェーン情報一覧

ちなみにLeftArm/RightArmに鎖骨を含めちゃうとIDLE(立ちポーズ)が、やる気ゼロなぐったりポーズになっちゃいました(^▽^;)

Character/Mannequins/RigsフォルダにマネキンさんからマネキンさんへのIKリターゲッタ(アニメーション流用するための紐づけ設定ファイル)があるのでそれを右クリックから複製(しなくてもいいっちゃいい)してマネキンさんから玉ねぎちゃん用のIKリターゲッタを作り開きます。

デフォルトのマネキンが持っているIKリターゲットの複製
リターゲット画面でターゲット先をマネキンからSK_SM_Tamachanに変更しているところ まだ変更前なので中央の画像は両方マネキン

ソース(アニメーションを真似される側)はそのままで、Target IKRig Assetターゲット(真似する側)を玉ねぎちゃんのIKリグに変えます。

すると左側が玉ねぎちゃんになりました。

ターゲットが玉ねぎちゃんに変わったIKリターゲット画面 マネキンと似たようなポーズで玉ねぎちゃんが飛んでいる様子

ちなみに複製でなく、新規作成でソースとターゲット両方指定しても同じことができますが、その場合2体が重なった状態で表示されるかと思います。ターゲットの設定のさらに下のほうに表示位置の設定があるのでそこを動かすと同じような表示にできます。(ここはずらしても重ねてもアニメーションに影響はたぶんありません)

右下で適当なアニメーションアセットをダブルクリックして確認するとそれっぽく動きますが、Tポーズなどで確認するとわかるように、ちょっと手のずれが大きいです。

マネキンにTポーズをさせると横の玉ねぎちゃんはバンザイをしている様子

これは、UEのマネキンさんは初期状態が手を斜め下に広げた通称Aポーズなのに対して、Blenderとかのモデルは手を真横に広げたTポーズをとっており、AのつもりでTの開き具合の初期位置から相対的な動きのマネをしているためです。

Aポーズに合わせましょう。

IKリターゲット画面左上でリターゲティングポーズを編集するモードに切り替えるところ

骨が見えたほうがわかりやすいのでキャラクターのボーンの表示を変更します。

キャラクターのボーン(骨)を見える化している設定変更
骨が見える化された編集画面 マネキンと玉ねぎちゃんそれぞれグレーと黒線でリグが透過表示されている

左の名称か、中央のビューで拡大したり画面を回したりして骨を選択し、回転ギズモで調整します。

マネキンのAポーズにあうように玉ねぎちゃんの手を曲げているところ

移動させちゃうとダルシムとかルフィーみたいなぐにゃぐにゃ状態になってしまいます

おおむねマネキンと隣の玉ねぎちゃんのポーズがそろえられた状態

細かく調整したい場合は2体を重ねて調整してもOKです。

無事、それっぽいアニメーションができるようになりました。

角度をそろえた状態でマネキンと玉ねぎちゃんが同じようなポーズで走っている

ここで右下のアニメーションを選んでエクスポートしてもOKですが、それだと一つ一つを使う設定もイチから作ることになります。

それもやってみましたし、Mixamoからアニメーションをたくさん取り込んで独自にアニメーションを全部組む作戦もやってみましたが、結構面倒なので、ABP_Quinnのアニメーションブループリントからリターゲティングでまるっと変換するのが便利だと思います。

Quinnのアニメーションブループリントからリターゲティング設定を選んでいるところ

SKM_Quinn_Simpleがサードパーソンテンプレートのデフォキャラです。

出力フォルダを変更しないとゲームのフォルダ直下に保存されちゃいます。(まぁあとから移動でも問題ありません)

同じ名前のアセットがいるとややこしいのでプレフィックスかサフィックス(ファイル名の手前か後ろ)に重複しない名前になるように何かつけるとよいかと。今回は_Tamaをサフィックスにつけました。

玉ねぎちゃん用に作り替えられたアニメーションアセット群と、それをどんなとき使うかのアニメーションブループリントクラスも作られた状態です。これをイチから作るのは結構めんどくさいし、コピペで編集すると置き換え漏れで元のキャラ用のアニメーションを呼び出しちゃうなど、気づきにくいバグを埋め込んでしまうリスクなど色々厄介なことがありそうです。

ただしやれるはやれるのと、アニメーションブループリント自体の勉強にもなるのでやってみてもいいと思います。(5.3のやつは極め本に載ってないエイリアスとかも使われていて、私はなんだかんだ調べたら2時間以上かかりましたが、結構今後の編集に必要な知識を勉強できました。)

ここまで慣れれば数分程度でできるようになりますが、これでもめんどくさい方はBlenderの有償アドオン等でUnrealEngineのマネキンと同じリグをMixamoと同じ感じでつけられるものがいくつかあるようなので、それが幸せかもしれません。(私はこの作業が大して苦じゃないと思えたのでもういいかなと)

プレイヤーキャラクターに設定

BP_ThirdPersonCharacterを開き、下記1,2の順で自キャラを置き換えます。

これだけで自キャラがマネキンさんから玉ねぎちゃんに置き換わって完成です。ってあれ?

ジャンプするとコケちゃいました。

ということでデバッグ。

リターゲットの時点では同じポーズしてたのにいざ変換すると明らかに角度違うアニメになっていました。アニメを停止して最初のコマのところで画面上の「+キー」をうち、Hipsを回転させて全身を起こしてアニメを更新してみました。

変わりなし。。。

アニメ自体の角度じゃないとすると、今度はルートモーションあたりが原因か?と「Force Root Lock」のチェックをはずしてみたところうまくいきました。

ということで、ようやく走ったり飛んだりコントローラーできるプレイヤーキャラクターのステップ1が完成しました。

つづく

コメント

タイトルとURLをコピーしました