Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE5 Stack O Botプロジェクトで少し面白い部分を解説

UE5 早期アクセス版に"Stack O Bot"という新しいサンプルプロジェクトが公式から提供されました。

www.unrealengine.com
unrealengine.com

シンプルながらもUE5最新の機能を使っていたり、少し特殊な実装をしている部分もあって非常に興味深いので、今回は少し趣向を変えて比較的軽めにサンプルについてを解説してみたいと思います。

プロシージャルミュージック

Stack O BotはUE5新機能であるMetaSoundsによる完全なプロシージャルミュージックによる動的楽曲生成が入ったサンプルになっています。説明によればソージェネレーター、エンヴェロープ、トリガーカウンター、リピート、スケールを使って作っているとのことです。MetaSoundsで曲を作れるようになってみたいという方にはちょうどいい規模のサンプルです。単純な楽曲であればこれだけで十分な楽曲生成ができるはずです。MetaSoundsで作曲してみたいという人の入門に丁度いいサンプルでしょう。

ファイルはAudioフォルダー以下にある"SFX_Music"という名前になっています。

f:id:alwei:20220123221738p:plain

以下は実際にMetaSoundsを触ってプロシージャルに曲を変化させているところ。

VTによる背景メッシュの馴染ませ

Stack O Botでは背景にランドスケープが使われており、その上に置かれている岩にはバーチャルテクスチャーによる馴染ませのブレンドが行われています。特にわかりやすいのはこういった岩ですね。

f:id:alwei:20220123222118p:plain

ベースマテリアルに"M_Rock"というマテリアルがあり、その中を覗くとどのような実装になっているのかがわかります。

f:id:alwei:20220123222229p:plain

ランドスケープさえ使っていればバーチャルテクスチャーを使っての馴染ませブレンドは難しくないので、参考に実装してみるのもよいと思います。

unrealengine.hatenablog.com

コントロールリグで動く床制御

最後にちょっと特殊な例として、Stack O Botには動く床が実装されています。この動く床はBPによる制御で、動き自体は"InterpTo"コンポーネントでつけられていて、動く範囲を"Spline"コンポーネントで決めています。ここでは普通ですが、動きの中にちょっと振動による回転の動きも入っています。

もっと面白いのはこの動きはコントロールリグでつけられているということです。この床自体はただのスタティックメッシュなので、ボーンは持っていませんが、コントロールリグがボーンの動きをプロシージャルにつけてそれをメッシュ上に反映させているということです。ちょっと本来の用途とは違うかもしれませんが、あえてスケルタルメッシュじゃないものに動きをつけているというのが面白いです。

"CR_MovingPlatform"というコントロールリグ内で動きをつけています。

f:id:alwei:20220123222511p:plain

更にその動きを"BP_MovingPlatform"内でControlRigコンポーネントからイベントを取得して、スタティックメッシュへと反映。

f:id:alwei:20220123222757p:plain

コントロールリグは色々な使い道があると思っていますが、こういった動きを手軽につけられるのも色々な部分に役立ちそうで、特殊な使い方を覚えておくと非常に応用がききそうです。

シンプルだけど色々と参考になるサンプル

Stack O Botは全体的にシンプルなプロジェクトですが、ThirdPersonテンプレートなどよりも複雑ですが、中級者以上であれば非常に参考になるプロジェクトです。BPを使って様々なオブジェクトとインタラクションを行う部分や、草の近くを歩いた時に揺れるマテリアルの処理など、どれも参考になるものばかりです。UE5を勉強する人だけでなく、UE4を触っている人にもぜひ見てもらいたいなと思いました。