UE5から始める C++ & BP 09 【Blueprint版】Enumeration(列挙型)
列挙型は何のために使うのだろう?
Blueprintを使いだしてからなぜ使うのか分かってきました。
[Switch]ノードとEnum変数の処理がスゴイ相性がいい!
一気に見やすくなりました。
プロパティのリストが簡単に作れてしまう
リストから名前で選択できるので間違えにくい
プログラム文法だと最後の方に説明されますが、使いだすとメチャクチャよく使います。
是非、Enumeration(列挙型)使ってみてください。
おススメです。
前回は「Flow Control(Switch)」方法について調査しました。
今回は「Enumeration(列挙型)」方法について調査していきます。
【Blueprint版】Enumeration(列挙型)
今回できること
変数[CalcType]のVariableTypeをEnumerationに変更することで、[Swith]ノードの分岐をより読みやすくします。
Enumeration(列挙型)をVariableTypeに設定することで、DefaultValueがリストから選択することができます。
学習用の新規レベル「Chapter_2_Enumeration」を作成する
学習用の新規レベルを作成します。
[File]メニューから[New Level…]を選択します。
[Default]を選択します。
「Maps」フォルダに「Chapter_2_Enumeration」を入力し、[Save]ボタンをクリックします。
Enumeration(列挙型)を作成する
Enumeration(列挙型)を作成します。
Contents Browserの空きスペースを右クリック > Blueprints > Enumeration(列挙型)
アセット名を「ECalcType」に設定します。
「EcalcType」をダブルクリックで開きます。
[New]ボタンをクリックすることで列挙定数を追加することができます。
列挙型を設定するEditorの入力項目について一覧にまとめました。
[New]ボタンで列挙定数を追加し、各行表の値を設定します
Blueprintを複製する
「BP_FlowControl_Switch」をDuplicate(複製)して、「BP_FlowControl_SwitchEnum」を作成します。
変数[CalcType]のVariableTypeを[Integer]から[ECalcType]に変更する
「BP_FlowControl_SwitchEnum」をダブルクリックして開きます。
変数「CalcType」のVariableTypeを「ECalcType」に変更します。
EventGrapth内で変数を使用ていると、VariableTypeを変更してもいいかを確認するダイアログが表示されます。
[Change Variable Type]ボタンをクリックして、VariableTypeを変更します。
変数[CalcType]のGetがエラー(赤)で表示されます。
赤くなっているピンを[Alt + Click]で接続を解除します。
同時に変更した箇所の一覧が表示されます。行をクリックすることで該当箇所へ移動することができます。
[Compile]ボタンをクリックして、変数[VariableType]のDefaultValueを確認します。
DefaultValueの値がリスト化され、EnumerationのDisplayNameに設定した文字列が選択できます。
VariableTypeがIntegerの時は数値で入力していたので、[1]というのは何の値なのか分かりませんでした。
Enumeration(列挙型)にすることで、何の値を設定するのか明確になります。
ECalcTypeのSwitchノードに処理を置き換える
変数[CalcType]のGetノードからDrag&Dropし、[Switch on ECalcType]を選択します。
[Switch]ノードのOutput側実行ピンにEnumerationのDisplayNameで設定した文字列が表示されます。
Integerの[Switch]ノードより[Switch]ノードからどの処理に接続してよいか分かりやすくなります。
Enumeration(列挙型)はDisplayNameに設定した列挙定数しか設定できないので、「Default」実行ピンのようなあいまいな表現がなくなります。
[Compile]ボタンをクリックします。
LevelEditorに戻り、「BP_FlowControl_SwitchEnum」をViewportにDrag&Dropします。
Level Editorの[Play]ボタンをクリックします。
変数[CalcType]の値が[Subtract]なので、引き算の出力結果が表示されます。
全て保存して、Blueprint側は終了
Blueprint側の説明はここまでになります。
[Content Browser]から[Save All]ボタンをクリックし、[Save Selected]ボタンをクリックしてプロジェクトの変更のあったアセットをすべて保存します。
まとめ
ひさしぶりに読んでみたら、「まとめ」書いてませんでした。
書いた時の心境
結論(今回できること)
手順
まとめ
参照URL
テンプレートができてきて、手順が終わったら次に行こうで「まとめ」がおざなりになってました。
書いた時の心境がまとめに近いので、2回まとめ書いている
最後に書き終わった時の全体的なまとめがもっと分かりやすいといいですね
検討の余地あり!
まだまだいい記事にできる!
参照URL
オンラインラーニング「ブループリントで列挙型を使用する」
UE4から始めるC++&Blueprint 進捗とロードマップ
Zennで進捗報告を行い、GitHubでロードマップを公開中です。
よかったら覗いてみてください。