今から始めるUE4極め本⑤ 〜ブループリント入門編〜

UE4極め本

はじめに

UE4の目玉機能であるブループリント編です!ブループリントの優位性や実装方法については本書できっちり解説されていますので、この記事では全体のイメージが見えることに重きを置いて、マリオのゲームを例に補足していきます。

わんちゃん
UE4のブループリントはパズルのように実装を組み立てられるので、C++やC#に挫折した人でも安心して始められますよ!

第9章 ブループリント入門以前

第9章は短い読み物形式になっています。内容としてはブループリントの優位性について、ゲーム開発現場のあるある事例を元に解説されています。早く作業に取りかかりたい人は本章は飛ばしても問題ありません。

最後のNote(コラム)に書かれている、「レベルブループリント」と「クラスブループリント」という2つの種類については最初のうちは混同してしまうかもしれません。

マリオに当てはめてみると、レベルブループリントは穴に落ちたときの失敗や、強制スクロールステージの管理、ゴールゲートを超えてステージクリアというような、ステージに紐付くイベントを管理している管理人のイメージです。

クラスブループリントはマリオやクリボーなどのキャラクター(アクター)の数だけ存在し、それらの動きやイベントを管理している演者のようなイメージです。

また、後に「ゲームモード」というブループリントも登場します。これはゲームのルールを管理するもので、スコアやタイムはゲームモードで管理するのが良さそうです。

これはあくまで役割分担の例であり、この通りに作らないといけないわけではありません。

第10章 基本的なブループリントを作成する

初めてブループリントを操作するので、本書の文や図を見ながら操作を間違えないように気をつけてください。

どこから実行ピンを引っ張り出すかを間違えると必要なノードが見つけられなかったり、繋ぐはずのピンを繋ぎ忘れているとうまく動かないことがあります。

10.1.2 日本語キーボードでコンソールコマンドを呼び出せるように設定する

最新版のUE4ではこの項目は既に設定済みです!「@キー」でコンソールコマンドの入力欄が呼び出せるはずです。

キーを押しても入力欄が表示されない場合、マウスカーソルが表示されているようでしたら実行中のゲームウィンドウがアクティブになっていないかもしれません、実行中のゲームウィンドウの中をクリックしてアクティブにしてから[@キー]を押してみてください。

10.3.2 独自のゲームモードを作成する

最新版と異なる箇所
P.161
旧)[親クラスの選択]ダイアログで、[ゲームモード(Game Mode)]と書かれたボタンをクリックします。
新)[親クラスの選択]ダイアログで、[ゲームモードベース(Game Mode Base)]と書かれたボタンをクリックします。

第11章 アクタの動かし方

11.2.3 アクタの位置を取得する

手順.4 で、マップに手裏剣アクターを配置したあと、レベルブループリントで右クリックすると手裏剣アクターの参照を得ることができます。

これを再びマリオに例えると、ステージ管理人のレベルブループリントは、ステージに配置されているクリボー達の情報を把握しており(参照を持っている)、直接操作することができることを言っています。

逆に、クリボー同士(クラスブループリント同士)は相手を直接操作することは(基本的に)できません。

11.3 初めてのクラスブループリント

先ほどのTest_Actor_Movementのマップでは、レベルブループリントで手裏剣を動かしました。これは、マリオのステージ1-1 で、ステージ管理人が クリボーA を操り人形のように動かしているような実装です。

今回の Test_Player_Movement というマップはいわば ステージ1-2 であり、このステージ管理人はクリボーのことを操作するブループリントは書かれていません。

このような実装では、ステージごとにレベルブループリントに同じことを書く必要が出てしまいます。そこでクリボーのクラスブループリントに動きを設定することで、操り人形のように動かすのでなく、クリボー自身が自立して動くようにしていきます。

11.4.2 キャラクターの歩行性能を調整する

最新版と異なる箇所
P.184
旧)手順.3 [詳細]パネルの[Character Movement]>[Max Walk Speed]を「150」に設定し、同じ並びの[Max Acceleration]も「150」に設定します。
新)手順.3 [詳細]パネルの[Character Movement : Walking]>[Max Walk Speed]を「150」に設定し、[Character Movement (General Settings)]>[Max Acceleration]を「150」に設定します。

第12章 入力を取ってキャラを動かす

12.3.1 入力マッピングを使ってプレイヤーキャラを動かす

[InputAxis MoveForward]を[Add Movement Input]に繋いだのに実行してもキャラクターが動かない場合は、以下を確認してみてください。

  • プレイモードが[シミュレート]になっていないかどうか
  • 実行後にちゃんとゲームウィンドウをクリックしてアクティブにしたかどうか
  • [Add Movement Input]のWorld Direction が x:1.0,  y:0.0, z:0.0 になっているかどうか
  • [プロジェクト設定]の入力マッピングが正しく設定されているかどうか

12.4.2 コントローラを回してカメラを周回させる

マウスでカメラを回転するようにしたあと、もし回転の方向を逆にしたい場合、[Axis Avlue]の値に -1.0 をかけてやると逆にすることができます。掛け算は [float x float]の掛け算です。

まとめ

これでブループリント入門編は終了です!

C++やC#でスクリプトを書いていた頃は、文法の間違いでハマってしまったりして思わぬところで躓いてしまうこともありましたが、ブループリントではピンに繋いでいくだけで簡単にスクリプトを書くことができます。

また、レベルブループリント、クラスブループリント、ゲームモードといったUE4のお作法を理解することで、今後自分でゲームを作る時の設計にも役立つと思います!

わんちゃん
次回はキャラクターを動かす方法を学びます!

おねがい

学習の際にわかりにくいと感じたことや躓いてしまった箇所がありましたら是非教えてください!

あなたのノウハウを記事に反映することで、次に学習する方の手助けになります!記事のコメントやTwitter等でご連絡ください~!