マリオ風ゲームを作りながらUEを学びましょう。
追記:UE5.4でリターゲット部分がもっと簡単になりました。UE5.4の方はこちらの記事で。
UE5.3.2で、サードパーソンテンプレートのマネキンさんの走る&飛ぶ機能やそのときのアニメーションをBlenderで作った骨なしキャラに流用させる方法を説明します。
走る・飛ぶ機能自体はサードパーソンテンプレートそのままで、外部3Dモデルの取り込みがメインです。
各所で色々と方法は紹介されているのですが、いざやってみようとすると案外難しかったり、情報が足りなかったり、古かったり、色々つまずきました( ;∀;)
誰かのお役に立てれば幸いです。では行きましょう!
Blender出力→Mixamoでリグ付け
BlenderからはFBX形式で出力済とします。

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


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

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

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

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

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

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

Mixamo Converterの出力モデル→UE5取り込み
ようやくUnrealEngineの画面へ。
コンテンツドロワーにドラッグアンドドロップでMixamo(またはMixamo Converterで変換した)FBXモデルファイルをインポートします。
インポート画面は色々設定ありますが、Blender4.0 x UE5.3.2ではデフォルトで問題ないかと思います。(なにかしら警告はでますが。)

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

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

慣れればここまで数分の作業です。
マネキンさんのアニメーションを自作キャラに流用
ここからがちょいムズだったリターゲットの話です。「猫でもわかる」のYouTube動画見てやってみたものの何かとおかしなことになっちゃって、マニュアル読んでも日本語なのか英語なのかルー語なのかよくわからずちゃんと理解できず
Webやら英語のYouTube動画などを調べまくりで何日かかかりましたが、どうにかできました。
スケルタルメッシュ右クリックからIKリグを作成します。

できたファイルを開いて編集し
左の階層のところでHipsを右クリックからRetarget Rootに設定
その下のSpineからSpine2までをShift+クリックで選択し右クリックから「新しいリターゲティングチェーン…」で「チェーンと目標を追加」


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

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


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

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

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

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


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


細かく調整したい場合は2体を重ねて調整してもOKです。
無事、それっぽいアニメーションができるようになりました。

ここで右下のアニメーションを選んでエクスポートしてもOKですが、それだと一つ一つを使う設定もイチから作ることになります。
それもやってみましたし、Mixamoからアニメーションをたくさん取り込んで独自にアニメーションを全部組む作戦もやってみましたが、結構面倒なので、ABP_Quinnのアニメーションブループリントからリターゲティングでまるっと変換するのが便利だと思います。


SKM_Quinn_Simpleがサードパーソンテンプレートのデフォキャラです。
出力フォルダを変更しないとゲームのフォルダ直下に保存されちゃいます。(まぁあとから移動でも問題ありません)
同じ名前のアセットがいるとややこしいのでプレフィックスかサフィックス(ファイル名の手前か後ろ)に重複しない名前になるように何かつけるとよいかと。今回は_Tamaをサフィックスにつけました。


玉ねぎちゃん用に作り替えられたアニメーションアセット群と、それをどんなとき使うかのアニメーションブループリントクラスも作られた状態です。これをイチから作るのは結構めんどくさいし、コピペで編集すると置き換え漏れで元のキャラ用のアニメーションを呼び出しちゃうなど、気づきにくいバグを埋め込んでしまうリスクなど色々厄介なことがありそうです。
ただしやれるはやれるのと、アニメーションブループリント自体の勉強にもなるのでやってみてもいいと思います。(5.3のやつは極め本に載ってないエイリアスとかも使われていて、私はなんだかんだ調べたら2時間以上かかりましたが、結構今後の編集に必要な知識を勉強できました。)

プレイヤーキャラクターに設定
BP_ThirdPersonCharacterを開き、下記1,2の順で自キャラを置き換えます。

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

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


変わりなし。。。

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

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



つづく
- 第1回:やることリスト
- 第2回:サイトマップ 構成要素一覧
- 第3回:走る・跳ぶ(Blender→UE5)
- 第4回:Bダッシュ
- 第5回:ダッシュ中は高く跳べる
- 第6回:ミニとノーマルサイズの変化
- 第7回:敵に当たったらダメージ
- 第8回:ステージ作りステップ1
- 第9回:ステージ作りステップ2
- 第10回:跳ねる壊れるレンガブロック
- 第11回:ハテナブロック+コイン
- 第12回:パワーアップキノコ(たまねぎ)
- 第13回:ファイヤーフラワー(赤ピーマン)
- 第14回:ファイヤーボールで攻撃
- 第15回:踏みつけ攻撃
- 第16回:ブロック越しに攻撃
- 第17回:スターで無敵
- 第18回:亀キャラを作る
- 第19回:亀キャラの動作
- 第20回:プレイヤー専用コリジョンでファイヤーバグ対策
コメント