[Blueprint] Unreal Engine 4ゲームプログラミング for Ultra Beginners [Hello Blueprint]

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

前回からの続き

こむろです。前回とりあえずオブジェクトを配置できるレベルを作成しました。今回からようやくBlueprintを触っていきます。

Blueprintについて

Blueprintにはいくつか種類があります。

  • Levelブループリント
  • Blueprintクラス
  • Blueprintインタフェース

他にもいくつかありますが、基本的には上記を覚えていれば良いようです。特に LevelブループリントBlueprintクラス は比較的触る機会が多かったように思います。今回はこの中の Blueprintクラス を使ってBlueprintに触れていこうかと思います。

ひとまず、 Actor などのレベル内に存在する目に見えるコンテンツの制御は、基本的に Blueprintクラス で行うとおぼえておけば良いようです。

すなわち、Actorに独自の制御や動作の制御などをカスタマイズしたい場合は、 Blueprintクラス を利用すれば実現できる、ということになります。

Hello Blueprint

Blueprintを作成してみます。まずは、Blueprintクラスを管理するディレクトリを確認します。今回は、StarterContent が入っているため既にディレクトリは存在します。以下のディレクトリまで移動します。

コンテンツ>StarterContent>Blueprints

2016-02-15 00_13_58-

右クリック>ブループリントクラス を選択します。

2016-02-15 00_17_28-

アクター を選択します。

2016-02-15 00_17_42-親クラスを選択

SampleBPActor とします。

作成したBlueprintクラスをダブルクリックします。すると、SampleBPActor のための画面が立ち上がります。ここで、このActorに対する動作の定義や各種設定、Actorに紐づくコンポーネントの追加などを行う事ができます。

2016-02-15 00_19_04-SampleBPActor_

コンポーネントの追加

このままでは、このActorは何の形状も持っていません。 StaticMeshComponent を追加します。画面右上部にある +コンポーネントを追加▽ をクリックし、スタティックメッシュコンポーネント を選択します。

2016-02-15 00_22_01-

ひとまず適当なMeshを設定しておきましょう。画面左の 詳細>Static Mesh を設定します。様々な形状が選択できますが、今回は Shape_Cone を選択します。

2016-02-15 00_25_05-SampleBPActor_

はい。ひとまずこれでこのBlueprintクラスは、レベルに配置するとコーン状の形状を表示するようになりました。

2016-02-15 00_25_22-SampleBPActor_

上部 ツールバー にある コンパイル を押しておきます。緑色のチェックがついていれば、今のところこのクラスは正しく動作が定義されています。

2016-02-15 00_29_51-SampleBPActor_

Actorの動作をカスタマイズする

SampleBPActorの動作をカスタマイズしていきましょう。先ほど押したコンパイルボタンのすぐ下辺りにタブが並んでいるのが確認できます。

  • ビューポート: 見た目を定義するための画面。このActorがどういう見た目になるかを編集するために使う模様
  • コンストラクション: このオブジェクトが生成される際に実行される。生成時の動作をカスタマイズしたい場合に利用する
  • イベントグラフ: このオブジェクトがどのような動作を行うかをカスタマイズすることができる。ゲーム開始時やFPSごとのEventなどをフックして独自の動作を定義できる

今回は、このActorの 動作 をカスタマイズしたいので、イベントグラフ を選択します。

2016-02-15 22_18_09-SampleBPActor

3つのノードが確認できます。役割はそれぞれ

  • イベント BeginPlay : このActorがSpawn(生成)した時に呼ばれます。
  • イベント ActionBeginOverlap : このオブジェクトにヒットしたりした場合に呼ばれます。
  • イベント イベントティック : SpawnしてからDestroyされるまで、1フレーム毎に呼ばれ続けます。

今回は、まずゲーム開始時に画面に「Hello Blueprint」と表示するものを作成するのを目指します。

ノードを追加する

今回はゲーム開始時に一度だけ文字列を出力したいので、 イベント BeginPlay ノードを利用します。

2016-02-15 22_23_12-SampleBPActor

画像のように左クリックをした状態でノードからリンクを伸ばします。適当な位置で左クリックを離すを接続先ノードの選択肢が出現します。文字列を表示するノードは「Print String」なので検索窓に「Print」と打ち込みましょう。するとノードが絞りこまれます。絞りこまれたノードをクリックすると、無事 イベント BeginPlayノードとPrint Stringノードが接続されました。

2016-02-15 22_23_51-

固定文字列は、Print Stringノード内のIn Stringと表示されている紫色の枠に直接打ち込みます。今回は「Hello Blueprint」と表示させるため、この文字列を紫の枠の中に打ち込んでおきます。これで一番単純なBluepriuntでの処理が完成しました。上部のコンパイル ボタンを押してグリーンであることを確認しておきましょう。

Blueprintを実行する

このBlueprintを実行するには、レベルの中にこのActorを配置してあげる必要があります。開いてるレベルの中にドラッグして適当な位置に配置してみましょう。

2016-02-15 23_27_55-BPSampleProject - アンリアルエディタ

配置できたらいよいよ実行です。上部ツールバーにあるプレイボタンを押します。

2016-02-15 23_28_35-BPSampleProject - アンリアルエディタ

実行結果

2016-02-15 22_31_43-SampleBPActor_

画面に「Hello Blueprint」という文字列が表示されたのがわかります。Blueprintの編集画面を開いてると、そのままどの処理が実行されているかが川の流れのように見えます。これをうまく使うことで処理の流れを目で確認することができるようです。

2016-02-15 22_31_54-SampleBPActor_

まとめ

今回は、Blueprintの基本中の基本であるノードとノードをリンクで結びつけ実行するまでをやってみました。基本的にこれらを使うだけでUE4のゲームは作れてしまいます。今回は一切合切プログラムに触っていません。ノンプログラマーなデザイナーの人たちなどが簡単にアニメーションやゲームの処理を書くことが出来ます。そのため簡単なゲームやアニメーションではプログラマーは不要と言っても過言ではない開発環境になっています。

Blueprintの機能は一つの言語を覚えるくらい豊富な機能を持っているので少しずつ学習して紹介していこうかと思います。次回はオブジェクトのアニメーションによる移動を紹介します。

参照