ゲーム開発備忘録

ゲームプログラマー UE4・5向けの記事を書いておりますので見ていただけるとありがたいです。

【UE4・UE5】〈Tips〉列挙型と構造体とデータテーブル

はじめに

アンリアルエンジンの基本的な機能を簡単に紹介していく記事です。

使用例も含めて解説するのでぜひ見ていってください。

解説

列挙型.....データの分類の選択肢

Enumのことだよ。味方、雑魚敵、ボスとか異なる特性を分類するときの選択肢を決めるよ)

f:id:namiton:20220209141944p:plain

構造体......変数の集まり

(たくさんの変数を構造体という一つにまとめられるよ)

f:id:namiton:20220209140008p:plain

 

データテーブル....構造体の集まり

(キャラクターやアイテムのステータスを設定するときにつかえるよ)

f:id:namiton:20220209140310p:plain

使用例

職業を4つ(騎士・魔法使い・鍛冶師・召喚士)用意して

6人のキャラクターに1つ決める。

それぞれステータス(職業/体力/魔力/攻撃力/防御力/レベル)を持っている。

 

①職業の定義から

列挙型EN_Professionを作成します。

f:id:namiton:20220209142655p:plain

職業4種類を設定します。

f:id:namiton:20220209142813p:plain

 

②ステータスの定義

ステータスを構造体、ST_Statusを作成します。

f:id:namiton:20220209143128p:plain

ステータスを設定します。

f:id:namiton:20220209144741p:plain

③キャラクターごとにステータスの設定

データテーブル、DT_CharacterDataを作成します。

作成時に構造体ST_Statusを選びます。

f:id:namiton:20220209144502p:plain

キャラクターを作成しステータスを設定します。

f:id:namiton:20220209145246p:plain

 

③使い方

適当なブループリントを作成し、新規変数ST_Statusを作ります。

f:id:namiton:20220209145534p:plain

データテーブル行を取得のノードで

選んだキャラクターの設定した構造体が取得できます。

それぞれのステータスは分解することで取り出せます。

f:id:namiton:20220209145753p:plain

値を設定するときはこのように行います。

f:id:namiton:20220209150634p:plain

 

戦闘時に敵のステータスを取得することで

役職や属性に応じた攻撃倍率などにも使えるので便利です。

f:id:namiton:20220209153103p:plain

このように構造体やタイムテーブルを使ってデータを管理すると

より変数を扱いやすくなります。

 

さいごに

UE4やUE5向けの記事を書いています。

皆様の応援が投稿のモチベーションになりますので

コメントやTwitterのフォローなどしていただけるとありがたいです。

それではよきゲーム開発を。