見出し画像

【第2回】データテーブルを使う

メカデザインができないから既に暗礁に乗り上げてる感ある。僕です。
今回はデータテーブルを使って自機のパラメータを一括管理し、それを読み込むブループリントを実装します。

(前提)データテーブルって何だコラ。

その名の通りデータを格納しておく表です。
様々な変数を列挙した構造体を用意し、各変数の値をデータテーブルに保存しておくことでパラメータ(今回の場合自機のステータス)の管理を楽にします。

構造体とデータテーブルについての詳しい解説はこちらに詳しい記事が。


データテーブルの用意

そんな訳で作った構造体とデータテーブルのアセットを作成。

画像3

画像1

とりあえず必要なもの、いずれ必要になりそうなものを一旦リストアップ。
データテーブルにはテスト用に適当な値を入れています。

画像2

値に関しては細かく見る必要は無いです。
また変数名や並びも適当です。この辺は後からいくらでも変えられます。

パラメータの読み込み

ここまではデータを用意しただけなので、データテーブルから値を読み込み、反映させてやる必要があります。

まず簡単な関数(ファンクション)を作っておきます。
コンテンツブラウザ上で右クリックし、「詳細なアセットを作成」→「その他」の「ブループリント関数ライブラリ」を作成。これは各アセット共通で使える関数を自作しておくもの。

画像4

新規関数〔Get Mech Status〕として以下の様に組みました。

画像5

これだけ。
データテーブルを取得する関数は既にありますが、参照先を固定して関数化しておくと使い回しやすいと思います。

それでは実際に読み込んでみる。

画像6

プレイヤーのブループリント。〔BeginPlay〕はプレイヤー作成時に一回だけ実行されるイベントです。
先ほどの関数で取得したステータスを〔Break〕でバラし、それぞれを後に使う各変数に入れたり計算したりしています。
(右のごちゃごちゃした線がそう)

プレイヤーキャラのプライベート変数に入れ直しているのは、使い回す時にいちいち読み込むと負荷がかかるから(たぶん)。

おわり

え、おわり!?
終わりです。と言うのも次回こそブースター関係を実装する訳ですが、それが思ったより長くなってしまったんで一旦区切ります。

そんな訳で、次回こそブースター実装です。
がんばるます!

この記事が気に入ったらサポートをしてみませんか?