はじめに
Unreal Engine(以下UE)は、初心者でも直感的にゲームやCGを開発できる強力なツールです。
本記事では、UEの画面上に文字を表示する方法を学びます。
本記事の目的
- Unreal Engineの画面に文字を表示する方法を身に着ける
- 初心者でも理解しやすいBlueprintを活用する
本記事で得られるスキル
- Blueprintを使って画面に文字を表示させるテクニック
- キーボード入力でイベントを発生させるテクニック
UEの基本を押さえていきましょう!
Blueprintを使って文字を出力する基本テクニック
プロジェクト・ブループリントクラスの作成
プロジェクトとブループリントクラスは前回の記事で作成したものをそのまま使用します。
文字の出力方法
まずはPlayをしたときに1度だけ文字を表示する方法です。
イベントグラフ上にあるEvent BeginPlayノードのピンを左クリックしたまま右に伸ばす。
Print Stringを検索して選択します。
(Event BeginPlayはPlay実行してから1度だけ発生するイベントです。初期化処理などによく使われます。)

以下のようなノードが生成されます。
Print StringのIn Stringに設定されている文字列が画面に表示される文字になります。

文字を一度だけ表示させる方法は以上です。(超簡単ですね!)
では、この状態で一度実行してみましょう。(実行前にコンパイルと保存を忘れずに!)
ブループリントクラスをシーンにドラッグアンドドロップして上のPlayをクリックします。

結果
以下のように左上にHelloという文字が表示されます。

続いて、文字を何度も表示する方法です。
イベントグラフを開いてPrint Stringノードを右クリック。
複製を選択します。
(ノードを左クリックした後にCtrl+Dでも複製できます)

以下のように複製されたPrint StringノードとEvent Tickを繋げる。
(Begin Playと区別するために複製したPrint StringのIn StringをHello2にしてみます。)

コンパイルして保存。
この状態で再度Play実行してみましょう。
結果

最初にBeginPlayで指定した文字列のHelloが表示されてその後にTickで指定した文字列のHello2が表示されています。
この結果から分かるように順番的にはBeginPlayの処理が先に実行され、その後Tickの処理が実行されるようになっています。(処理順序:BeginPlay>Tick)
ただ、今の状態では常に文字列が表示されてしまうので結構邪魔ですよね。
なので任意のタイミングで文字が表示されるようにしたいと思います。
Event Tickと接続されているPrint Stringノードのピンを右クリックします。
このリンクを解除を選択します。

イベントグラフ上でKeyboard Eventsを検索。
今回はZキーを入力イベントとします。

以下のようなノードが自動生成されます。
続いてZキーのノードのPressedのピンをPrint Stringにつなげます。
(Pressdはキーを押したとき、Releasedはキーを話したときにイベントを発生させます。)

これでZキーを押したときにHello2という文字が表示される設計ができました。
では、コンパイルと保存をしてPlay実行してみましょう。
結果

あれ?うまく表示されませんね。
なぜでしょうか?
これはブループリントクラスが使用しているキーボードからの入力を受け取れていないことが原因です。
なのでブループリントクラスでキーボードからの入力を受け取れるようにしましょう。
左側にあるNewBlueprint(Self)をクリックします。
右側に表示される入力のAuto Receive InputをDisabled→Player0に変更します。

これでキーボードからの入力をブループリントクラスが受け取れるようになりました。
再度コンパイルと保存をしてPlay実行してみましょう。
結果
Zキーを押したときにHello2という文字が表示されるようになりましたね。
(Play実行した後キーボードで操作するために一度画面をクリックする必要がありますので気をつけて下さい。)

画面に文字を表示させる方法については以上です。
まとめ
本記事では、Blueprintを使った画面に文字を表示させる方法について学びました。
今後もUnrealEngine超初心者向けに役立つ記事を書いていきたいと思います。




コメント