2022-04-14

【キャラを作ろう#2】三人称カメラをマウスで動かすBP【UE5】

デフォルトのサードパーソンに入っている「マウスでカメラを操作する」だけのBPがどう作られているかを知る。意外に知られていない設定項目を使う。

Article Image

マウスでカメラを操作する

本日作るのは超シンプルなお題

キャラクターのブループリントにてカメラをマウスで動かす機能を実装する。

サンプルのサードパーソンに標準で搭載されている機能。

※今回のバージョンは5.0.0(正式リリース直後)

前提条件

前回作ったメインキャラクターを使う。次を参照。

【キャラを作ろう#1】自分で操作できるキャラクターをイチから作る【UE5】 | 謎の技術研究部

上記キャラは移動もカメラ操作もできないハリボテ。

本家でマウスはどう処理されるか

まず先に本家サードパーソンのBPを開いてマウスの処理を見てみることにする。

コンテンツ > ThirdParson > Blueprints の中にある BP_ThirdPersonCharacter

BP_ThirdPersonCharacter

この中のイベントグラフにてマウスの処理は次のたった4つのノードから成る。

マウス用のノード

赤ノード2種でマウスの上下と左右の動きを取得し、それを青ノードでコントローラーのローテーション上下左右に当てはめているようだ。

このAdd Controller Yaw input,Add Controller Pitch inputというノードが回転を意味しているのは覚えておきたい。

移動ではなく「回転」

コピペして試してみる

ではこの4ノードを自キャラのBPにコピペして実行してみることにする。

プレイ中は私はマウスを上下左右ぐるぐる回している。

なんか変!?

  • 左右にしか動いていない
  • カメラを動かしたいのにキャラクターも左右に動いている

という不具合が発生しているようだ。

本家ノードをコピペしているのに、なぜ想定通りうごかないのだろうか。

コンポーネントの設定が必要

実はマウスでカメラ操作するときはノードだけではなくコンポーネントの詳細を変更する必要がある

Use Controller Rotationを設定

まずは一番上のSelfコンポーネントを選択する

self

詳細ウィンドウの検索窓にuseと入れるとUse Controller Rotation ~~という設定(Pitch, Yaw, Rollの3つ)がでる。

Use Controller Rotation

これがコントローラーの回転入力を受け付けるかどうかの設定だ。

よく見るとこれのPitchがオフになっている。

YawPitchを使うノードを組んであるのにPitchが使われていないのが不具合の原因のようだ。

ではこれをONにしてもう一度実行してみよう。

Pitch On

すると次のようになる。

マウスの上下左右すべてを受け付けるようになった。

しかし、カメラと一緒にキャラクターも一緒に動いてしまっている

次の項ではこれを修正する。

補足:Rollは使わないの?

Roll回転は次のようなような回転を意味する。

飛行機が旋回するときに使うような軸なので、こういった三人称視点ではひとまず使わなくてよい。

カメラだけ回転させたい

上の例だと、キャラ自体が大砲の発射口のようなゲームならそのまま使えそうだ。

しかし人のような三人称視点の場合はカメラだけ動かしたい。

では、どうすればいいのだろうか。

Selfコンポーネント側の入力をオフ

SelfコンポーネントのUse Controller Rotationをすべてオフにする。

Selfコンポーネントの再設定

「え、オフにするの?」という声が聞こえてきそうだがオフにする。

なぜなら、一番上のSelf(親)の回転にマウス入力を直接入れると、その子もぜんぶ回転してしまうからだ。

ということは...

SpringArmコンポーネントを回転させる

Self(一番上の親)ではなくSpringArmコンポーネントだけマウスの回転を受け付ければ良い。

SpringArm

SpringArmを選択して

Controller Rotation

こっちのController RotationをONにしてやる(YawやPitchのような設定は必要なく、これ1個)

完成

これでカメラがくっついているアームだけ回転するようになるので、次のようになる。

以上

マウスの入力を受け取ってそれをコンポーネントに適用するだけであればノードも少ない上に回転の計算や軸がどうのこうの...で悩まされる必要はない。

が、実際やろうと思ってもController Rotation設定項目を知っていないければできないはずだ。

今日紹介した内容はデフォルトのサードパーソンの設定と全く同じなので基礎の基礎となるかと思う。

引き続きサードパーソンキャラクターを紐解きながら記事を書きたい。



この記事をシェア


謎の技術研究部 (謎技研)