Chapter 27無料公開

📰ブループリント入門(1)テキストを表示してみよう [UE5入門チュートリアル #3-1]

Daichi
Daichi
2022.05.24に更新

コメント🐤

今回からブループリントを使ってゲームに機能を追加していきたいと思います。このページではブループリント初心者の方向けに解説し、実際にブループリントでテキストを表示する機能を作成していきます。まずは前回のページでも紹介しましたブループリントについて確認しておきましょう。

ブループリントとは?


ブループリントとはグラフを線で繋げる事によってゲームの機能を作る、UnrealEngineのプログラミングです。例えば以下のGifではアイテムを回転させる機能をブループリントで作成しています↓

コメント🐤

では早速ブループリントを使って最初のプログラミングの一歩を踏み出しましょう!

ブループリントでテキストを表示する|実践

今回はとても簡単なブループリントを作成して「HelloWorld」と画面にテキスト表示させたいと思います(HelloWorldというテキストはプログラミングを学ぶ時に一番最初に表示するテキストとして有名なものです。特に意味はありません)。以下の動画が今回作るブループリントでHelloWorldと画面に表示させます。

https://www.youtube.com/watch?v=NdnA2iZBRqk
では、やってみましょう!
  1. まずはサードパーソンのプロジェクトを作成します。ゲーム > サードパーソン > (スターターコンテンツにチェックを入れる) > 名前をBlueprintProjectなどに変更して > 作成をクリックします。

  2. レベルブループリント(下で解説)を開きます。メインツールバーのプレイボタンの二つ左隣にあるボタンをクリックしてレベルブループリントを開きます。

    ブループリントを編集するブループリントエディタが開かれました。ここでブループリントを作成していきます。

レベルブループリントとは?

ブループリントには二種類あり、それがレベルブループリントとブループリントクラスです。ブループリントクラスは後ほど解説するとして、レベルブループリントはレベル全体,つまりゲーム全体に関わる機能を追加する場所になります。例えば、ゲームを終了させる機能だったり、プレイヤーをスポーンさせる機能だったりをこのレベルブループリントに追加していきます。レベルブループリントはレベル毎に必ず用意されており、「レベルブループリントを開いて..」と記載がある場合には今レベルブループリントを開いたようにメインツールバーから開くという事を覚えておきましょう。

  1. ではブループリントを作成していきます。右クリックで一覧を表示し、beginと検索し、イベントBeginPlayと書かれたものをクリックします。

    gifだとこんな感じです↓

    これでイベントBeginPlayと書かれたグラフが追加されました。このグラフの事を「ノード」と言います。

ノードとは?

ノードとはブループリントで使用する機能を持ったグラフの事です。ノードは様々な種類があり、このノードを繋げる事によってゲームの機能を作る事ができます。

イベントBeginPlayノードとは?

では、追加したイベントBeginPlayノードの意味ですがこれはゲーム開始時,つまりゲームプレイボタンを押した時に処理を実行するためのノードです。後からも解説します。

  1. では続いてテキストを表示するノードを追加します。BeginPlayノードの矢印(ピンと言います)からドラッグして離します。するとノード一覧がでるのでprintと検索してPrintStringを選択します。


    これでPrintStringノードを追加できました。

PrintStringノードとは?

PrintStringノードは画面の左端にテキストを表示するためのノードです。ノードの中のInStringの入力値のテキストを表示します。デフォルトだと「Hello」と書かれています。実際のゲームの機能としては使われませんがブループリントのテスト用にかなり頻繁に使用します。手順を進めてどうなるか確かめてみましょう。

  1. テキストを表示させるノードはこれで完成なのでプレイしてみて試してみましょう。

ノードの操作について🐤

なお、イベントグラフでは右クリック押しながらドラッグで視点を移動させる事ができ、スクロールで拡大縮小が可能です。

また、ノードをドラッグして移動させる事もできるので覚えておきましょう。

  1. ブループリントエディタは邪魔なのでタブを閉じます。

  2. プレイボタンを押します。

  3. とても小さいですがゲーム開始時にビューポート左上にHelloとテキスト表示されているのが確認できます。

完成したノードについて解説

では、なぜゲームプレイ開始時にテキスト表示されるのか解説すると、BeginPlayノードというスタート時に処理を実行するノードとPrintStringというテキストを表示するノードを繋げた事によって「スタート時にテキストを表示する」という機能が出来たからです。

このようにブループリントではノードを組み合わせてゲームに機能を追加していきます。

  1. では続いて表示するテキスト内容を変更してみましょう。ブループリントエディタを開きます(最初に紹介したプレイボタン隣のボタンからでもレベルブループリントは開く事はできます)。PrintStringのInStringをクリックして「Hello World」にします。

  2. ブループリントエディタは閉じてプレイしてみると、「HelloWorld」と表示されたのが確認できます。

YouTubeでも確認出来ます↓

https://www.youtube.com/watch?v=NdnA2iZBRqk
これでブループリントによるテキスト表示の機能作成は完了です。お疲れ様でした。

Q&Aコーナー💬

手順通り作ってみたけどテキストが表示されません..

ブループリントではもちろんですが、ノードの種類を間違えたりノード同士をつなげってなかったりすると正しく機能しません。もう一度以下のノードの状態になっている事を確認しましょう。

コメント🐤

最初のブループリント実装はこれにて終了です。今回はとてもシンプルな機能でしたがブループリントを作る事ができ、ゲーム開発の最初の一歩を踏み出しました。ノードには様々な種類の機能を持ったものが他にも沢山あるのので、「色々なノードを組み合わせて様々なゲームの機能を作る」という事を理解しておきましょう。次回はゲームプレイ中にアクタ(アイテム)を回転させたり、移動させたりさせるブループリントを作成していきます。