![見出し画像](https://assets.st-note.com/production/uploads/images/35683501/rectangle_large_type_2_969861d3440fc3acbba09a66b82e6fe8.jpeg?width=1200)
【第2回】データテーブルを使う
メカデザインができないから既に暗礁に乗り上げてる感ある。僕です。
今回はデータテーブルを使って自機のパラメータを一括管理し、それを読み込むブループリントを実装します。
(前提)データテーブルって何だコラ。
その名の通りデータを格納しておく表です。
様々な変数を列挙した構造体を用意し、各変数の値をデータテーブルに保存しておくことでパラメータ(今回の場合自機のステータス)の管理を楽にします。
構造体とデータテーブルについての詳しい解説はこちらに詳しい記事が。
データテーブルの用意
そんな訳で作った構造体とデータテーブルのアセットを作成。
とりあえず必要なもの、いずれ必要になりそうなものを一旦リストアップ。
データテーブルにはテスト用に適当な値を入れています。
値に関しては細かく見る必要は無いです。
また変数名や並びも適当です。この辺は後からいくらでも変えられます。
パラメータの読み込み
ここまではデータを用意しただけなので、データテーブルから値を読み込み、反映させてやる必要があります。
まず簡単な関数(ファンクション)を作っておきます。
コンテンツブラウザ上で右クリックし、「詳細なアセットを作成」→「その他」の「ブループリント関数ライブラリ」を作成。これは各アセット共通で使える関数を自作しておくもの。
新規関数〔Get Mech Status〕として以下の様に組みました。
これだけ。
データテーブルを取得する関数は既にありますが、参照先を固定して関数化しておくと使い回しやすいと思います。
それでは実際に読み込んでみる。
プレイヤーのブループリント。〔BeginPlay〕はプレイヤー作成時に一回だけ実行されるイベントです。
先ほどの関数で取得したステータスを〔Break〕でバラし、それぞれを後に使う各変数に入れたり計算したりしています。
(右のごちゃごちゃした線がそう)
プレイヤーキャラのプライベート変数に入れ直しているのは、使い回す時にいちいち読み込むと負荷がかかるから(たぶん)。
おわり
え、おわり!?
終わりです。と言うのも次回こそブースター関係を実装する訳ですが、それが思ったより長くなってしまったんで一旦区切ります。
そんな訳で、次回こそブースター実装です。
がんばるます!
この記事が気に入ったらサポートをしてみませんか?