あらゆるプログラミングで必須の変数。
本当にこれだけに絞ってUnreal Engine 4のブループリントで見ていく。
次でやっていることが分かることが前提
サードパーソンのテンプレートを使う
ThirdPersonCharacter
(つまりメインのプレイヤーキャラ)のブループリント
インプットアクションJump
とPrint String
をつないだ状態で実行
こうするとジャンプ入力(スペース)があったときにHello
が左上に描画される。
まずはこれが理解できるまでは進めておく。
次の動画で解説している内容は一通り見ておくと良い
猫でも分かる UE4を使ったゲーム開発 超初級編 #1:まずはプロジェクトを作ってUE4エディタを触ってみよう!
『猫でも分かる UE4を使ったゲーム開発 超初級編 #2:Blueprintをさわってみよう
今回はこの2番めの動画内でやっている変数を「より詳しく&分かりやすく」解説したい。
ブループリントを編集する画面で左側下部にマイブループリント
と書いてあるタブがある。
ここに変数
の項目があるので+ボタン
を押す
これで変数が追加される。
要するに数字や文字を入れておいて後から自由にプログラムで変更できる箱。
キャラクターのステータスなどのはこういう変数と言われるものにしまっておき、逐次計算で変化する。
変化する数字だから変数。
型についてはプログラム基礎で長くなるであまり詳しく説明しないが(他サイトも参照)
変数はデフォルトでBoolean
という型になっているのでTrue
かFalse
の2通りになる。
今回は「整数」を扱って計算を行いたいのでまず型を「整数」へ変更するところから。
※Integerは整数
これで整数となったため計算式をいれて値を増やしたり減らしたりできる
では、変数最初の一歩。
ジャンプする度に値を増やして画面に表示してみる。
まずは完成図
なるほど、わからん。
色々とプログラムをやった側からしてみるとブループリントは逆に見づらい気がする。
実際に制作しながら解説していく。
Get~
となっている箇所を選択これによりまずは変数に格納されている値を**「とってくる」**ことができた。
初期値は0
+
で検索int + int
を選択これで整数と整数を足し算するノードが追加される。
これで変数+1
を計算するノードが完成
Set~
のノードを追加これは計算した値を変数に入れる処理をしている。
これがないと計算された値は破棄されるだけなので意味がない。
これにて変数+1を行って変数へ戻してやる処理ができた。
しかしこれは問題がある。
いつこれを実行するのかが指定されていないので一度も実行されないまま終わる。
この「いつ」は右側セットの白い三角形にタイミングをいれてやって指定する。
つまり今回は「ジャンプした時」である。
インプットアクションJump
のPressed
をセットの白い矢印につなぐこれでジャンプのイベントが起こる度に値が+1されていく処理が完成である。
最後にこれを画面に表示させれば完成だ。
セットの右下の緑色になっているピンは計算結果をGetする事ができるピンなのでこのままPrint String
に繋げられる。
Print String
の紫のピンにつなぐさて、謎の箱が自動で挟まれた。
これは変数が「整数」に対してPrint String
が「文字列」なので通常のプログラムでは「型が違う」というエラーが出るはず(プレステにスイッチのゲームを入れてるようなもん)
しかしUE4はこれを自動で認識して「変換するやつ」を挟んでくれているのである。
したがってエラーなくつなぐことが出来る。
さて、最後にまだ一つ問題があるのが分かるだろうか。
Print Stringにも「表示せよ」という信号を入れてやらないと画面は更新されないのでこのままでは数字は「表示されない」のである。
セット
から出ている白い三角をPrint String
に接続完成である。
プログラムを変更したら必ず押す。ノードで作ったプログラムをコンピュータが理解できる言語に変換していると思えば良い。
変数だけでも記事にしてみると長くなる。
しかし、一般的なプログラムから考えるとブループリントのせいで逆に処理の流れがより難しく見える。
入り口は初心者には厳しい気はするが、ゲーム内のイベントとどうしても絡めないといけないのでコレが精一杯小さい処理になるのは仕方ないのかもしれない。
次回は「条件式」を扱いたい。
先程のThirdPersonCharacter
のブループリントにて
変数の右側の目のマークをオンにしておくと
キャラクタをレベルに配置した後、詳細パネルから変数を手動で書き換えることができるようになる
これも合わせて覚えておくと便利そうだ。