Chapter 33無料公開

📰変数とは?(1)変数でプレイヤー名を作成してみよう [UE5入門チュートリアル #3-7]

Daichi
Daichi
2022.05.20に更新

コメント🐤

今回はノードを組むうえで重要な変数について簡単に解説し、実際に変数を使ったブループリントを作成していきたいと思います。変数について詳しくは後からも解説するのでまずは使って覚えていきましょう。

変数とは?

変数(Variable)とは変更可能なデータの事で、そのデータをゲームプレイ中に変更したり呼んだりしてノードに組み込んで使用します。例えばHPを実装したい時や、拾ったアイテムの数を保存したい時、プレイヤーの名前を保存したい時など変数を使用します。

コメント🐤

実際に変数とはどんなものなのか早速使ってみましょう!

①変数を使って名前を表示してみよう

では、変数を使用してプレイヤー名をこんな感じに表示してみようと思います↓

  1. プロジェクトは何でもよいのでレベルブループリントを開きます。

  2. 右クリック > イベントBeginPlayノードを検索し作成します。

  3. BeginPlayノードのピンからドラッグしてPrintStringノードを作成します。

    このノードで、ゲーム開始時にテキストを左上に表示するという処理でしたね。プレイして確認してみましょう。

  4. では変数を作成してみましょう。マイブループリントにある変数のプラスボタンをクリックします。これで変数が追加されました。

  5. 名前は「PlayerName」にして、Booleanと書かれた場所をクリックし、Stringを選択します。

    こんな感じに変数が作成されます↓一体これは何をしたのかというと変数(データ)に名前をつけて、データの種類をStringという種類に設定した事になります。Stringとは文字列のデータの種類の事で、変数はこのようにデータの種類を設定してあげる必要があります。

  6. 作成したらコンパイルを行います。

  7. PlayerNameを選択した状態で詳細を見てみるとデフォルト値が表示されます。ここではPlayerNameの初期値を編集する事ができます。ここに何でも良いのでご自身の名前(Daichi)を打ち込みましょう。このデフォルト値がコンパイルしていないと入力できないので変数を作成した後、コンパイルをした理由になります。

    これでPlayerNameの初期のデータは「Daichi(自身の名前)」となりました。

  8. 続いて作成した変数を呼び出して実際にノードに組み込んでみましょう。PlayerNameをドラッグでイベントグラフに追加します。GetPlayerName(データをロードする)かSetPlayerName(データをセットする)が選べるのでGetPlayerNameを選択します。

  9. PlayerNameのピンから、PrintStringのInStringにワイヤーをドラッグで接続します。

    これでPrintStringで出力するテキストはPlayerNameに入った「Daichi(自身で付けた名前)」になるという事です。

完成!プレイしてみると..

これで完成です!ゲーム開始時にプレイヤーの名前となるPlayerName(Daichi)をテキスト表示する処理が完成しました。

レベルエディタからプレイボタンを押してみると自身の名前が表示される事が確認できます。

コメント🐤

変数を使うとデータを入力でき、その変数を呼んで使用できるという事ですね。では変数を使って名前は表示できたので今度はゲームプレイ中に名前を変更して、再度表示してみましょう。

②名前を変更して表示してみよう

  1. PlayerNameをドラッグで追加して、今度はSetPlayerNameを選択します。これでセットノードが作成され、このノードによって変数の中身となる名前(データ)を変更できます。

  2. 何でも良いので新しくPlayerName(名前)を付けてPrintStringノードと接続します。

  3. 最終的にこんなノードになりました↓

  4. プレイしてみましょう。ノードがエラーになる場合は作成したノードがどこかが必ず間違っているのでどこか間違っていないか確認しましょう。

    PrintStringは下から順にテキスト表示されますので下にDaichi,上にねこの順番で問題ありません。

ノードの解説

作成したノードを改めて解説すると最初に初期値となるDaichiをテキスト表示して、その後セットノードで名前を変更、変更後の名前を表示という順番になります。

コメント🐤

このように変数はゲームプレイ中に変更できるという事になります。例えば実際のゲームでもPlayerNameという変数を作成して、そこにプレイヤー名を保存しておいて相手に見えるようにPlayerName(名前)を表示したり、名前を変更したい場合はセットノードで変更するといった事を行います。

✓変数はゲームプレイ毎にリセットされる

変数は一時的なものなので終了したらリセットされます。つまり今回の場合だと終了したらPlayerNameは「Daichi」という初期値に戻るという事ですね。終了しても変数を次のゲームプレイへ引き継ぎたい場合は変数を別の方法で保存する必要があります。

コメント🐤

変数 = 変更可能なデータで、ゲームプレイ中に変更したりデータを呼んで使用したりできます。変数はゲームを作る上で欠かせないものなので次回以降も詳しく解説していきます。なお変数とはプログラミングの基本単語なので、ここまで来れた方はプログラミングの一歩を見事踏み出せたという事になります!今後もプログラミングをぜひ楽しんで学んでいきましょう!