PlayMaker を使ってカメラを制御します。
カメラの制御
カメラの操作方法
カメラはプレイヤーを追いかけます。
キーボードの Q / E キーでカメラを回転します。
Qキー | カメラの回転(左) |
Eキー | カメラの回転(右) |
ゲームオブジェクトの追加
カメラはプレイヤーを追いかけますが、直接 Player オブジェクトを追いかけるのではなく、追跡用のゲームオブジェクトを追加します。
CameraManager
CameraManager は、カメラの移動とキーボード入力を受け付けます。
CameraTarget を追いかけて移動します。
![CameraManager](https://www.papacoder.net/wp-content/uploads/2021/02/ss01.jpg)
CameraTarget
CameraTarget は、Player オブジェクトと同じ位置に移動します。
また、カメラの向きを制御するのに使います。
![CameraTarget](https://www.papacoder.net/wp-content/uploads/2021/02/ss02.jpg)
カメラの移動
カメラの移動は、Smooth Follow Action アクションを使用します。
直接 Player オブジェクトを参照するのではなく、CameraTarget を追いかけるようにします。
理由は、カメラの回転を自由に制御したいためです。
![カメラの移動](https://www.papacoder.net/wp-content/uploads/2021/02/ss03.jpg)
![CameraTarget の移動](https://www.papacoder.net/wp-content/uploads/2021/02/ss07.jpg)
カメラの回転
カメラの回転は、CameraTarget を回転させることで行います。
キーボードの入力
CameraManager で、キーボード入力を受け付けます。
グローバルイベントで CameraTarget に回転するようイベントを送信します。
![CameraManager の 状態「Idle」](https://www.papacoder.net/wp-content/uploads/2021/02/ss04.jpg)
![CameraManager の 状態「RotatingLeft」](https://www.papacoder.net/wp-content/uploads/2021/02/ss05.jpg)
![CameraManager の 状態「RotatingRight」](https://www.papacoder.net/wp-content/uploads/2021/02/ss06.jpg)
イベントの処理
CameraTarget を回転させると、カメラも回転します。
CameraManager の Smooth Follow Action で自動的に制御してくれます。
![CameraTarget の 状態「Idle」](https://www.papacoder.net/wp-content/uploads/2021/02/ss08.jpg)
![CameraTarget の 状態「RotatingLeft」](https://www.papacoder.net/wp-content/uploads/2021/02/ss09.jpg)
![CameraTarget の 状態「RotatingRight」](https://www.papacoder.net/wp-content/uploads/2021/02/ss10.jpg)
まとめ
PlayMaker でカメラを制御する方法はいろいろあります。
今回は、Smooth Follow Action アクションを使用しました。
自動で Player オブジェクトを追いかけてくれますが、カメラの回転が思うようにいかなかったので、CameraTarget を追加してみました。
![カメラの制御](https://www.papacoder.net/wp-content/uploads/2021/02/ss11.jpg)
コメント