UE5.4でモーションマッチングを説明するサンプルプロジェクトが公開されました。
が、いきなりこれを渡されても何やっているかわからないですね。
というわけで解説を始めました。初回の今回はざっくり概要と操作説明です。
※2024/11/27更新:入手手順(FABに変わった)と、UE5.5でダウンロードする方法を更新しました。
モーションマッチングでしゃがみを自分で実装する例までシリーズで解説しているので、是非ごらんください。
ちなみに動画では各所を日本語化して説明しています
ダウンロード
公式サイトから貰ってきましょう。
まず画面右上がログインできていない場合はしましょう。
UE専用コンテンツは、「ダウンロード」ではなく「ライブラリに追加」を押して、Epic Games Launcherに送ります。
初めての場合は英語で標準ライセンスの契約同意画面が出るかと思います。同意すると、このプロジェクトを使用・改造する権利を貰えます。
UE 専用コンテンツ – Unreal Engine ベースの製品のみに使用がライセンスされます。
(このアセットをほかのゲームエンジンで使ったりはできません。たとえば、キャラクターをBlenderに出力して加工することなどはOKですが、それをUnityで使ったり、または、そのままBlenderでレンダリングして出力もNGで、UEに再度取り込むことで、最終的にUnrealEngine上で作品として仕上げる必要があります。)
「ライブラリで見る」ボタンはFAB上で見れるだけで意味がないので、Epic Games Launcherを立ち上げて、下のほうにスクロール、Fab Libraryから探して「プロジェクトを作成」
できたら上のほうの「マイプロジェクト」に追加されているので、開きましょう。
ダウンロードしてプレイしたあとのプロジェクトは5.6GBくらいになりました。
空き容量少ないPCは注意しましょう。
UE5.4でプロジェクトを作ると今回の記事のプロジェクトになります。
UE5.5以降でプロジェクトを作ると新機能が追加されます。
UE本体の新バージョンインストール時は、いったん「ローカルコンテンツを削除する」とできます。
プレイ
いつも通り、画面中央上の▶再生ボタンを押してゲームを開始しましょう。
開始地点周囲に触れると動作するパネルが配置されています。
まず下部(後方)の3つは色のモードです。乗ればわかるので割愛。
左上は第1コースの開始地点に瞬間移動するワープ装置です。
右上3つはデバッグ用の別ウィンドウを表示します。Shift+F1押したときと同じくプレイヤーの操作を解除してエディタ側を操作できるデバッグ状態になります。
- Read-Me:取扱説明書
- View Controls:操作説明
- Game Animation Widget : デバッグ用の便利ボタン集
操作
View Controlsをみましょう。キーボード+マウスに加え、ゲームパッド操作にも対応しています。
基本はサードパーソンテンプレートと同じで、マウスでカメラ操作、WSADで移動、スペースでジャンプです。
ジャンプのかわりに、進行方向に特定のブロック(カラフルのときにオレンジレンガっぽいやつ)があると飛び越えやよじ登りなどのパルクールアクションをする場合があります。(Jump/Traversal)
コース1にワープして、ブロックに近づいてスペース押してみましょう。
左Ctrlで「歩き」←→「走り」が切り替えられます(開始時は走りモード)
日本語キーボード配列だと微妙に押しにくい位置ですね。英字配列だとAのすぐ隣
マウスの中ボタンと右クリックでカメラの視点とエイム状態が3つ切り替わります。
- 遠めでカメラ方向とキャラの回転がフリー:近め時に中ボタン
- 近めでカメラ方向とキャラの回転がロック:遠め時に中ボタン or エイム解除(右クリック離す)
- 近めよりさらに近い狙撃(エイム)視点 :右クリック押してる間
横歩きや斜め・後ずさりは遠めの視点以外でカメラとキャラの向きがロックされているときだけできます。
滑らかにつながるアニメーションの切り替えがモーションマッチングのデモの主題と思います。移動速度も前方より遅くなってリアルな感じです。
逆に遠目の視点の時は進もうとする方向にキャラが向くので常に前進です。
WIPってのはWork in Progressの略で、作業中つまり作りかけの意味です。
UE5.4ではSprint(走りよりもっと速いダッシュ)とCrouchしゃがみはボタンの予約はされています。が、実装はされていないので動きません。UE5.5を待ってねとのこと。
デバッグ機能
Game Animation Widgetのパネルに乗って画面を出しましょう。
FPS
FPSは説明不要ですね。右端の入力欄で選択肢にない値にもできます。
Time Scale
タイムスケールは現実の時間速度に対する比率です。.5は0が省略されているので0.5倍という意味です。ゲーム内の時間の進み方が半分に(ゆっくりに)なります。
1.5などで逆に速くすることもできますが、使い道あまりないような?
Sound
音量です。Muteで0に。入力欄で0から1倍の範囲でこれも比率で指定します。1が100%、0.5が50%
Still Cam
スチールカムは固定カメラ(別カメラ切り替え)です。「Enable」にすると、上のほうで説明したカメラ関連の特徴はそのままに、自撮り棒の代わりにカメラがキャラと独立してそこからの映像を見ることができます。
「Enable」で一旦固定して、キャラクターを移動して少しカメラから離れたり近づいたりしてから、「Follow」で追いかけモードにすると、その時点の距離感を維持したまま追いかけてくれる追跡カメラマンになります。
あと、自キャラの横歩きや後ずさりは通常のカメラだと後ろからしか見れませんが、「Rotate」でスチールカム側に自キャラを向けてから中ボタンで回転をロックすると、前や横から横歩き姿を見れたりもします。
Draw
デバッグ情報の表示です。全部有効にするとかなり大量の情報がでます。
- キャラクター本体のカプセルや骨構造
- 移動方向や強さ、過去とこれからの予測軌道
- モーションマッチングの選択状況
- トラバース(飛び越えアクションなど)の解析
- アニメに付随する音などのイベント発行
Anim Node
割愛しますが、有効/無効切り替えとデバッグ表示のボタンの意味自体は直感でわかりますね。
Motion Matching
LODは、0か1といった値で、細かいアニメーション切り替えを気にするか、遠くて見えないキャラ・主要でないモブキャラはざっくり少ないアニメーションで処理負荷下げる的な、計算量と美しさのトレードオフを調整する仕組みです。
0が密(Dense)、1が疎(Sparse)の2種類のデータベースが予め用意されているので切り替えるとちょっと動きが変わります。
Character Override
キャラクターの上書き・置き換え的な機能です。
プレイヤーの見た目をクリックしたキャラクターに置き換えることができます。
内部的には元のオレンジ色のUEFNマネキンさんの動きをモーションマッチングの仕組みなどで計算していて、そのマネキンさんは非表示にしつつ、
その動きをリターゲッティングという仕組みで即座にモノマネしているキャラクターがゲーム中に表示されているという仕組みになっています。
自分で用意したモデルに置き換える手順は別記事で説明します。
Controller
ゲームパッドでどのボタン押したかを白く光って表示します。キーボード+マウス操作でも対応する箇所が光ります。
自作ゲームの操作説明用にフリー素材を拾って加工していましたが、これ使えばよさげですね。
つづく
次回はモーションマッチングの仕組みまわりを説明して「しゃがみ」を実装しましょう。
コメント