サードパーソン ブループリント ゲーム入門 (15) – ゲームパッドとタッチの制御

ビデオの内容紹介 
すでにチュートリアルの 13 回で、マウスなどからの入力を処理していますが、その時に後回しにしていたゲームパッドとタッチの入力のためにブループリントを組みます。動画はそれほど短くありませんが、あっという間に終わります。

原題 Introduction to Third Person Blueprint game – 15 – Character Blueprint : Gamepad and Touch Controls

[1] タッチの処理は自動的に
モバイル用にタッチ入力を利用しますが、実はすでに組み込まれています。

それを確認するために、まず、エンジンのフォルダを表示します。エンジンのフォルダを表示するためには、
15-1
[表示オプション] をクリックして、
15-2
[エンジンのコンテンツを表示] をクリックします。そこに表示されている「タッチインターフェイス設定」をダブルクリックします。
15-3
すると、「Touch Interface」の設定が表示されます。これを見ると、タッチの入力はゲームパッドの入力に結び付けられていることが分かります。つまり、タッチ用の入力は別途セットアップする必要はありません。
15-4

[2] ゲームパッドによる入力に備える
第 13 回のチュートリアルでは、次のようなグラフを組みました。
15-5
ここでは、それに付け足します。具体的には、まず、次のような TurnRate のためのグラフを組みます。
15-6

TurnRate とは、カメラを回転させるのですが、単なる Turn との違いは、速度 (Rate) を使って回転させることができるということです (サードパーソン ブループリント ゲーム入門 (5) 入力関係の準備を参照してください)。アナログ スティックを大きく動かすと、それに応じて回転の速度も上がります。(予め設定してある速度)×(アナログ スティックが中心からずれた量) となるので、カメラの速度が上がることになります。

また、BaseTurnRate (ベースとなる回転の速度) という変数がありますが、この作り方は、もうおなじみだとは思いますが、次のように [変数] をクリックすることから簡単に作ることができます。
15-7
[デフォルト値] を設定するためには、まず [コンパイル] してから、(たとえば) 200 と入力します。(チュートリアルの Zak 先生は、最初、BaseTurnRate の初期値を決めていなかったために、動作しませんでした。)

出来上がったグラフは、「WorldDeltaSeconds (フレーム間の秒数)」と「BaseTurnRate (ベースとなる回転の速度)」と「Axis Value (軸の値)」を掛け合わせて、その結果を「Add Controller Yaw Input (コントローラーのヨーの入力に加える)」に供給することによって、アナログ スティックの動きに応じてカメラを回転させています。

なお、アナログ スティックの動きは、この場合、右側の X 軸方向です。この動きは、すでにサードパーソン ブループリント ゲーム入門 (5) 入力関係の準備で設定しています。
15-8

上下のカメラの回転も同じように設定します。結果のグラフだけを挙げます。
15-9

[3] タッチでジャンプできるようにする

最後に、画面をタッチしてキャラクターをジャンプできるようにします。
15-10
意味
Finger Index がつながっているのは、==(equal) です。等しいかどうかを判定する時に使うノードです。つまり、ここでは、タッチした指 (Finger Index ) が 1 本 (Touch 1) に等しければ、Branch (条件の枝分かれ) の True (正しい) に入って行き、Jump するようになります。

[4] 正しく動くか確認する
[プレイ] の横についている▽マークを展開して、
15-11
[モバイル プレビュー] を選択します。
15-12
これで仮想的なモバイル環境でプレイできるようになります。左右にある円がのがアナログ スティックを模しています。右の円 (アナログ スティック) を X 軸方向 (横方向) に動かす (マウスでドラッグする) と、カメラが横方向に回転します。
15-13
上下に (Y 軸方向に) 動かすとカメラも上下に回転します。
15-14
画面をタッチ (この場合はクリック) すると、ちゃんとジャンプします。
15-15
なお、左側のアナログ スティックを動かすと、前進後退を行います。これは今回の作業を行う前からできていました。
15-16

今回は以上です。ありがとうございました。


シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. m0a より:

    とても参考になり助かっております。
    一点引っかかったところとしてBPでtouchイベントを検索しようとして
    「input touch」と検索すると無くて焦ります。
    結局「touch」が該当するイベントで、 BP上に貼り付けた時と表示が異なるので、ハマる人にはハマってしまうのかなーと思いましたので
    こちらに記載させていただきます。