6.2K Views
November 18, 23
スライド概要
2023.11.17日に開催されたUE の勉強会UE Tokyo .dev #2 の登壇スライドです。
ざっくりと Mass Framework 2023.11.17 UE Tokyo .dev #2 razupi
自己紹介 razupi (@Skatakata_) Alche でUE C++ 周りをよく触っています。 UE で一番好きな機能は Unreal Insights です。 (使いこなせてはない) オープンワールド系のゲームが好きです 2
Mass Framework とは UE5 より追加された群衆シミュレーション向けの機能。 CitySample の人々達はこれによって生成されている。 ※UE5.3の画面 3
データ指向設計(DOD) とは Mass Framework の背後ではデータ指向設計が採用されている ● 大量のオブジェクトを効率的に計算するための設計手法 ○ メモリ上へのデータの配置やキャッシュミスを減らすような最適化 ○ データとロジックが分かれている 「メモリのレイアウトとアクセスを最適化する設計手法」 4
Mass Framework とは データ編 Fragment : 計算に使用される最小のデータ、Velocity や Transform など Trait : Fragment が集まって表される特性、Movement や Avoidance (回避)など Entity : Trait が集まって表されるゲーム内の実体 Fragment 1 Fragment 1 Trait 1 Trait 1 Fragment 2 Entity 1 Fragment 2 Entity 2 Fragment 3 Trait 2 Fragment 4 Fragment 3 Trait 2 Fragment 4 5
Mass Framework とは ロジック編 ロジックの記述法は主に2つ。現状どちらも BP から定義できない(はず) ● Mass Framework 内の Processor を利用する方法 ○ 定義すると Mass システムに登録され自動で実行される。クエリを飛ばして Entity が見つからなければ何も実行しない ● StateTreeTask として定義する方法 Fragment の 追加/削除/更新 を行うことによって処理を実現 6
Mass AI をスポーンさせる① MassEntityConfigAsset(データアセット) Mass Spawner Actor セット 7
Mass AI をスポーンさせる② 配置方法は主に2つあり、Mass Spawner Actor にて設定 ● ● Environment Query System (EQS) ZoneGraph 8
9
利用例を想像してみた ● ● ● ● ● 人流シミュレーション 大量の敵 生物系の表現(動物の群れ、魚群など) ライブ会場のペンライト表現 他にもきっとまだまだ 何かが大量に出てくるだけで大体面白い! 10
ご清聴ありがとうございました 11