サードパーソン ブループリント ゲーム入門 (14) – Game Mode とテスト

ビデオの内容紹介 
前回作成した入力関係のブループリントが正常に動くかテストしてみます。そのためには、まず Game Mode のブループリントを作成します。正常に動いた場合は、微調整をいくつか施します。

原題 Introduction to Third Person Blueprint game – 14 – Game Mode and Testing

[1] 舞台を広げる
キャラクターが舞い降りるステージを少し広げます。
14-1
右上のアイコンでスケーリングに切り替えて、フロアを広げます。
14-2

[2] Game Mode ブループリントを作る
上に掲載した画像で赤枠に入っている [作成] をクリックして、[ブループリント] を選択します。
14-3
[親クラス] は [ゲームモード] にします。(つまり、GameMode クラスです。)
14-4
名前は、MyGame とします。
14-5
ダブルクリックしてエディタを開き、[デフォルト] モードにします。
14-6
重要なのは 1つだけで (残りの設定はデフォルトのままにしておくので)、Default Pawn Class を、既に作成済みのキャラクター ブループリント (MyCharacter) に設定します。
14-7
14-8
最後にコンパイルします。
14-9
これによって、ゲームのデフォルトのポーン (プレイすると黙っていても出現するポーン) が MyCharacter になります。

[3] 既存のゲームモードを、作成した MyGame で上書きする
上記の MyGame を有効にするための設定です。まず、メインエディタで [設定] をクリックし、
14-10
[ワールド設定] を選択します。
14-11
[Game Mode] のセクションで None (なし) から MyGame にします。
14-12
14-13

[4] プレイして動きをテストする
これまでできた部分が正常に動くかテストしてみます。[プレイ] をクリックします。
14-14
あのオレンジ色のキャラクター (MyCharacter) が出現しました。
14-15
とりあえずスペースバーを叩いてみると、ちゃんとジャンプします。
14-16
マウスを左右上下に動かしてカメラが動くのを確認します。
14-17
W、S、A、D のキーを押して、キャラクターが前後左右に動くのを確認します。
14-18
14-19
どうやら上手くキャラクターは動いているようです。

[5] 動きを調整する (空中での動き)
ここでは、空中の動きとジャンプの高さについて調整しています。

まず、空中の動きですが、MyCharacter の [コンポーネント] モードで、CharacterMovement を選択状態にします。
14-20
[詳細] タブで [Air Control] を探します。
14-21
値が 0.05 になっていますが、これを 0.2 にしてコンパイルします。
14-22

実験 Air Control とは
Air Control の値は、0 から 1 まで取り、1 の時は、MaxWalkSpeed (最大歩行速度) で進むことができます。空中を。0 はまったく進めません。0.5 は MaxWalkSpeed の半分の速度で進むことができます。このことを確かめてみます。

まず、値が 0.05 の時の動きを確認してみます。
[プレイ] をクリックすると、キャラクターが出現しますが、その位置を覚えておきます。
14-23
次に、キャラクターをジャンプさせ、空中で W を押して前進させます。
14-24
これを数回繰り返すと、ようやく次のフロアに足を踏み入れることができるようになります。
14-25
しかし、値を 0.5 にすると、一度で上記の状態にすることができます。お確かめください。
14-26

[6] 動きを調整する (ジャンプの高さ)
同じく、[詳細] パネルで Jump Z Velocity (ジャンプ Z 方向の速度) を 600 から 1000 に変更してみます。速度が速くなれば、それだけ高く飛べるようになります。
14-27
14-28

実験 Jump Z Velocity と高さ
上は 600 の時の最大の高さで、下は 1000 の時のものです。
14-29
14-30

[7] マウスの Y 軸方向の動きとカメラの動きを反対にする
Zak 先生は、マウスの動きとカメラの動きがしっくりこないと言います。具体的には、たとえば、マウスを手前に引くと、カメラが上から下に回転しますが、これを反対にした方がよいと言うのです。
14-37
14-38

やりましょう。まず、メインエディタで [編集] をクリックして、
14-31
[プロジェクト設定] を選択します。
14-32
[入力] を選択して、[LookUp] という Axis に結びついている [マウス Y] の値を -1.0 に変更します。
14-39
これによって、たとえば、マウスを手前に引くと、カメラが下から上に回転するようになります。

[8] マウスの Y 軸方向の動きとカメラの動きの関係を選択できるようにする
「マウスを手前に引くと、カメラが下から上に回転する」のか「マウスを手前に引くと、カメラが上から下に回転する」のか、その動作を選択できるようにします。

具体的には、次の部分を変更して行きます。
14-40
完成形は次のようになります。
14-41
この意味を考えてみます。

マウスの y 軸方向に動くと、それに結び付けられている InputAxis LookUp イベントが起動します。

[ブランチ] は条件に応じて行う処理を切り替えることができるノードです。Reverse Look Up (Look up の動きを反転させる) という bool 型の変数が Condition (条件) に供給されているので、この変数の値が true か false かによって、[ブランチ] の True と False に接続されているものが選択されて実行されます。

つまり、Reverse Look Up という変数の値を切り替えることによって、カメラの動きを変更することができることになります。

変数の値が true の場合は、Add Controller Pitch Input によって送られる値 (Val) は、そのままです (=先ほど変更したとおりの動きになります)。

変数の値が false の場合は、Add Controller Pitch Input によって送られる値 (Val) は、マイナス 1 が掛けられたものです。

この× (-1) は、その前に接続されている × マークの付いたノードによって処理されています。× マークの付いたノードは、Float × Float です。このノードでは、InputAxis LookUp からの値 (Axis Value) と 小さな四角に入っている -1 を掛け合わせて、Add Controller Pitch Input に供給しています。

今回は以上です。どうもお疲れ様でした!





About なつのや

アンリアル・エンジン 4 を基礎から勉強するためのサイト「UE4 の学び部屋」を開いています。どうぞよろしくお願いいたします。
UE4チュートリアル, サードパーソン

5 responses to サードパーソン ブループリント ゲーム入門 (14) – Game Mode とテスト


  1. blendegg

    キャラクターの発生ポイント(player start)を選択するにはどうしたらいいのでしょうか?level1からlevel2に切り替える(open levelする)際に、level2内にある2つのplayer startのうち、任意の方を選びたいのですが。
    get actors of all classでplayer startを選択し、level2内のplayer startに設定したタグを手がかりにすればいいということまではわかったのですが、どのようにしてスタートポイントとして指定すればいいのでしょうか?

    また、こう言った仕組みはlevel blueprintだけでつくれるのdしょうか?

  2. Cro

    初めまして、翻訳してくださっているチュートリアルをいつも有難く使わせていただいてます。
    アニメーションに関してなのですが、プレイヤーがレベルに表示され、アイドル、ジャンプもアニメーションは再生されますが、何故か走るアニメーションが再生されません。
    CharacterAnimBPでスピードを変更すると走るのも確認していますが、アイドル状態のまま移動する感じです。何か設定等必要なのでしょうか?

    • なつのや

      Cro さん、こんにちは。

      ご覧になっていただきまして、ありがとうございます。

      Run のアニメーションですが、Idle_Walk_Run で Run をドラッグアンドドロップしていますでしょうか? 第7回で行った設定なのですが。

      • Cro

        返信ありがとうございます。
        Idle_Walk_RunでRunもドラッグ&ドロップはしていましたが、動きませんでした。
        Idle状態のままなのはSpeedの値が変わらないからなのではないかと思い、改めて動画を見ていくと第11回のCharacterAnimBPでSpeedのピンに繋がるノードが無かったのに気付きました。
        第11回の完成図の後に動画の通りにGet Velocity、VectorLengthからSpeedのピンに繋いだらちゃんと走ってくれるようになりました。
        完成図をSpeedに繋いだ後のものに修正してはどうでしょうか。
        翻訳してくださってるのは本当に助かりますので、これからも参考にさせていただきます。
        長々とすみません、ありがとうございました。

        • なつのや

          Cro さん

          ご指摘いただきまして、ありがとうございます。そして、ご迷惑をおかけしまして、申し訳ございません。

          さっそく、この後、修正作業に入り、修正いたしました。ブループリントだけではなく、それに対する説明文も抜けていました。

          ご指摘いただいて、本当に助かりました。これからもどうぞよろしくお願いいたします。

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>