Study Works

YuukiHiraiの勉強したものを上げていきます。

今年、話題になったリアルなモーションを実現できる高機能プラグイン Motion Symphony を使ってみた!

Unreal Engine (UE) Advent Calendar 2021 の12月5日の記事です!

qiita.com

はじめに

今年リリースされて話題になったマーケットプレイスの新着アセット Motion Symphony を使ってみました。

www.unrealengine.com

 

およそ3万円もするので、気になるけど買っていない方が多いかと思います。。。

 

今回、使ってみて検証したことをまとめました。
購入する際の参考になれれば幸いです。

 

f:id:yuukihirai0331:20211120213659j:plain

 

 

Motion Symphony とは

公式サイトの説明より引用です。

Motion Symphony is a suite of cutting edge animation tools that enable high fidelity character animation while also simplifying your animation graph.The flagship technology of 'Motion Symphony' is motion matching but it also contains several pose matching nodes that can either supplement motion matching or be used independently as needed. 

日本語翻訳 

Motion Symphonyは、アニメーショングラフを簡素化しながら、忠実度の高いキャラクターアニメーションを可能にする最先端のアニメーションツールです。

Motion Symphonyの主力テクノロジーはモーションマッチングですが、モーションマッチングを補完するか、必要に応じて独立して使用できるいくつかのポーズマッチングノードも含まれています。

簡潔に説明すると状況に応じて動的にモーション(ポーズ)を生成する感じです。
Motion Matching を取り入れています。

Motion Matching とは

前提として Motion Symphony で使用されている Motion Matching にはアニメーションクリップという概念がありません。
アニメーションクリップとはUE4従来のアニメーションシステムを指します。
1つ1つに小分けされた待機モーション、移動モーション等を遷移、ブレンドすることでキャラクターを移動アニメーションさせていました。
しかし、Motion Matching では小分けされたモーションを必要とせず、設定されたモーション群から適切なポーズを生成します。

www.wikiful.com

 

パッケージング確認

UE4マーケットプレイスでよくあることなのですが
アセットを入れるとパッケージングが出来ないということが発生します。

Motion Symphony は空のプロジェクトでパッケージング出来ませんでした。
これは Motion Symphony をビルドする際に必要な Visual Studio のバージョン設定等が必要みたいなのですが、筆者は分かりませんでした。

そのため、今回は下記の Motion Symphony のサンプルプロジェクトを用いることでパッケージング出来ました。

github.com

実機確認

UE4.26.2でサンプルプロジェクトを軽く触ってみました。

youtu.be

滑らかな動きに見えそうですが、カクカクと動いている箇所があり、ちょっと粗さが目立っています。。。

 

使い方

www.wikiful.com

上記のチュートリアルにてサンプルプロジェクトを参考にデータ作成や使い方を把握することができます。

検証した内容

今回、下記のサンプルプロジェクトをベースにモーションの差し替えをしてみました。
https://github.com/Animation-Uprising/MotionSymphony_ExampleProject

 

差し替えを行ったモーションは下記のアセットです。

www.unrealengine.com成人男性の動きがリアルに表現されていてとても良いと思い、事前に買っていました。
個人的に Motion Matching と相性が良いアセットだと感じています!

 

差し替えを行う大まかな方針として
差し替えモーションをサンプルプロジェクトのベースキャラクターにリターゲットを行いました。

docs.unrealengine.com

 

f:id:yuukihirai0331:20211125205230p:plain

Motion Symphony には様々なデータ形式が存在します。
今回はわかりやすく解説するため、1つのデータ形式に絞って解説します。

 

f:id:yuukihirai0331:20211125211929p:plain
Motion Data はモーションを登録するデータ形式です。

 

サンプルプロジェクトのMotion Dataは大まかに3つに分かれています。
・MD_RunLocomotion
・MD_SprintLocomotion
・MD_StrafeLocomotion
今回は操作していて分かりやすい走る動作「MD_RunLocomotion」を差し替えていきます。

f:id:yuukihirai0331:20211124204937p:plain

まずは「MD_RunLocomotion」を開いて「Clear Animations」をクリックしてモーションデータをリセットします。

f:id:yuukihirai0331:20211124205226p:plain

その後、「Pick Animations」をクリックして、モーションデータをインポートします

f:id:yuukihirai0331:20211124205735p:plain

上記の画像のように適当に走るモーションアセットを追加します。

f:id:yuukihirai0331:20211124210219p:plain

「Sequences」の中にモーションデータが一覧が追加されます。
これによりレベルをプレイ(実行)した際に登録したモーション一覧から適切なモーションが排出されるようになります。

登録したモーションアセット内にタグを付けたり、パラメータを調整することで
意図したモーションを取れるようになります。
今回はタグやパラメータの解説は割愛します。


差し替え作業は完了です。

 

www.youtube.com

実際に動かすとこんな感じに動きます。

 

まとめ

軽く触った限りでは0から作るより、既存のモーションやキャラを拡張して使うのが良いと感じました。
UE4のモーションの知見が欲しい方や Motion Matching の勉強をしたい方におすすめしたいです。
しかし、ゲームを作りたいという方にはおすすめしにくいアセットかと思います。
今後もアップデートを行うみたいなので、期待しています!