執筆バージョン: Unreal Engine 4.26
|
みなさん、こんにちは。Composite Data Tableという機能をご存知ですか?
自分や周辺のエンジニアさんは知らなかったのですが…。
社内のプロジェクトで、こちらのComposite Data Tableを使ってみたプロジェクトがあるそうで、
興味がありましたのでどんなことができるのか少し調べてみました。
■Composite Data Tableとは?
同じ構造体のデータテーブルを合成できる機能です。(UE4.21から入った機能らしいです)
複数のデータテーブルを合成でき、担当者毎にデータを割り振って使うことができます。
また、カーブテーブルの合成はComposite Curve Tableでできます。
■実際にやってみました。
まず、同じ構造体のデータテーブルを2つ用意します。(データテーブルの作り方はこちら>https://historia.co.jp/archives/779/)
今回はRPGのようなゲームを想定し、敵側のステータス(DT_Enemy)とプレイヤー側のステータス(DT_Player)の2つに分けて、
1つのデータテーブル(DT_Characters)にしてみます。

①コンテンツブラウザーで右クリックし、Miscellaneous > Composite Data Tableを選択し、

上記のDT_EnemyとDT_Playerで使用している構造体を選択して作成します。

②作成したComposite Data Tableを開き、2つのデータテーブルをParent Tablesに入れます。

そうすると、下図のように2つのデータが合成されたデータテーブルになります。便利ですねー。

■Data Tableと同じように扱えるのか?
試しに変数の型をData Tableにし、作成したComposite Data Tableを選択できるか確認したところ、選択できましたので同じように扱えそうです。

※注意点について※
同じRowNameを付けてしまうと警告表示なしでデータが以下のようになりますのでご注意ください。
↓DT_PlayerとDT_Enemyで最初の行をTESTにしてみた場合
一番最後に入れたデータテーブル(この場合はParent Tables 1:DT_Enemy)の値が優先されて表示されました。


↓更にもう1つデータテーブルを追加し、一番最初の行をTESTにしてみた場合
一番最後に入れたデータテーブル(この場合はParent Tables 2:DT_Npc)の値が優先されて表示されました。

いかがでしたか?誰かの開発で役立てばいいなと思います。