Unity事例ノート

UNITY

Cinemachineでマウスに視点移動するCamera

マウスポインタの動きに合わせて回転する、FreeLookCameraを作成します。

以前の記事では、ThirdPersonCameraを使った作成をご紹介しました。

【Unity C#】Thrid Person Camera を設定する
【Unity C#】マインクラフトのようなプレーヤー操作

ThirdPersonCameraは大変便利なのですが、ThirdPersonControllerに付随する機能も多く、やや自由度に欠けるところもあります。

今回は、Cinemachineというパッケージを使い、ノーコードでFreeLookCameraを実装してみましょう。

関連記事:
FreeLookCameraスタート時の高さと移動
360°全方位に向けて発射

プレーヤーの準備

平面とCubeのオブジェクトを作成し、カラーを付けました。

Cubeを十字キーで操作できるようにします。

PlayerMove.csを作成して、Cubeに追加します。

PlayerMove.csを記述します。

まずはここまで、プレーヤーの動きを確認します。

Cinemachineのインストール

アセットストアから、パッケージマネージャーを開きます。

Unityレジストリの中から、Cinemachineを選択して、インストールしましょう。

メニューにCinemachineが追加されますので、ここからFreeLook Cameraを選択します。

FreeLook Cameraの設定

CM FreeLook1を選択しましょう。

今回は、FollowとLookAtのフィールドに、Cubeを入れました。

Followは、追従対象のオブジェクト。

LookAtは、視点を合わせるオブジェクトです。

シーンビューを見てみると、円状の赤い線が表示されています。

これはカメラの軌道で、縦方向のカメラ移動に合わせて、上段、中段、下段の軌道に遷移していきます。

この軌道線の高さ、半径は、Orbisから調整できます。

Y方向、X方向への旋回スピードは、Axis Controlで設定可能です。

デフォルトでは、マウスポインタと逆方向に、カメラが回転するようになっています。

同じ方向に回転させるには、Invertのチェックを外しておきましょう。

視野は、Lensの有効視野(FOV)で調整します。

今回は100まで上げて、少し視野を拡げました。

ゲームプレイして動きを確認してみましょう。

MainCameraがプレーヤーを追尾し、マウスを動かせば回転して動いていきます。

Cinemachineの設定項目は豊富に用意されていますが、今回はFreeLook Cameraの主な設定についてご紹介しました。

関連記事:
FreeLookCameraスタート時の高さと移動
360°全方位に向けて発射

SCHOOL教室案内