モーションマッチングなにそれ? UE5.4 GameAnimationSampleで遊ぼう

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

UE5.4でモーションマッチングを説明するサンプルプロジェクトが公開されました。

が、いきなりこれを渡されても何やっているかわからないですね。

というわけで解説を始めました。初回の今回はざっくり概要と操作説明です。

よっしー
よっしー

モーションマッチングでしゃがみを自分で実装する例までシリーズで解説しているので、是非ごらんください。

ちなみに動画では各所を日本語化して説明しています

ダウンロード

公式サイトから貰ってきましょう。

Game Animation サンプル:UE 機能サンプル – UE マーケットプレイス (unrealengine.com)

「無料」のボタンを押すと、

このプロジェクトを使用・改造する権利を貰えます。(アセットをほかのゲームエンジンで使ったりはできません。)

「ランチャーで開く」ボタンクリックでいつものランチャーでダウンロードしてプロジェクトを作り、開きましょう。

よっしー
よっしー

ダウンロードしてプレイしたあとのプロジェクトは5.6GBくらいになりました。
空き容量少ないPCは注意しましょう。

プレイ

いつも通り、画面中央上の▶再生ボタンを押してゲームを開始しましょう。

開始地点周囲に触れると動作するパネルが配置されています。

まず下部(後方)の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

ゲームパッドでどのボタン押したかを白く光って表示します。キーボード+マウス操作でも対応する箇所が光ります。

よっしー
よっしー

自作ゲームの操作説明用にフリー素材を拾って加工していましたが、これ使えばよさげですね。

つづく

次回はモーションマッチングの仕組みまわりを説明して「しゃがみ」を実装しましょう。

コメント

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