はじめに
Cinemachine3.0に関する情報が少なかったので、
今回はCinemachine3.0でFPS視点を作っていきます。
この記事を読んでCinemachine3.0の使い方がなんとなくわかってもらえたらいいなと思います。
Cinemachineを用意する
GameObject > Cinemachine > Cinemachine Cameraを選択
HierarchyにCinemachine Cameraが追加されたら成功です
Cinemachine Cameraの設定をする
先ほど用意したCinemachine Cameraを選択してCinemachine Cameraコンポーネントの設定を調整します。
- ProcedualComponentsの下にあるPosition ControlでFollowを選択します。
下の写真のようになればOK
警告は一旦スルーします。
PositionControlでFollowを選択すると、Cinemachine Followコンポーネントが追加されます。 - Cinemachine CameraコンポーネントのProcedualComponentsの下にあるRotation ControlでPan Tiltを選択します。
下の写真のようになればOK
Rotation ControlでPan Tiltを選択すると、Cinemachine Pan Tiltコンポーネントが追加されます。 - Cinemachine Pan Tiltコンポーネントの下にあるAdd Input Controllerと書かれたボタンを押します。
下の写真のようになればOK
するとCinemachine Input Axis Controllerコンポーネントが追加されます。
Cinemachine CameraのCinemachine CameraコンポーネントのProcedual Componentsの下にあるPosition ControlがFollow、Rotation ControlがPan Tiltになっていることと、次のコンポーネントがアタッチされていることを確認したら次へ。
下の写真のようになればOK
各コンポーネントの設定
まずプレイヤーを準備します。細かいことは割愛します。
プレイヤーの準備ができたら次へ
- Cinemachine Cameraの設定
Cinemachine CameraコンポーネントのTracking Targetにカメラが追従するオブジェクトをアサインします。今回はFPSを作るのでプレイヤーの頭にあたるオブジェクトとしてPlayer Headをアサインしています。
しかし、このままではカメラがプレイヤーの後ろ側にあります。
この問題を解決するために次に進みましょう。 - Cinemachine Followの設定
まずCinemachine FollowコンポーネントのBinding ModeをWorld SpaceからLock Targetに変更します。
下の写真のようになればOK
次に、Rotation Danping、Position Damping、Follow OffsetのXYZの値をすべて0にします。
すると、カメラが割といい感じになります。
カメラの位置がずれていると感じた場合はFollow Offsetの値を調整してください。
ここで試しに実行してみると、マウスを動かすとすでにカメラを動かせるようになっています。
3.Cinemachine Pan TiltとCinemachine Input Axis Controllerについて
Cinemachine Pan TiltコンポーネントのPan AxisとTilt AxisのRangeを調整すると、カメラを動かせる角度を調整することができます。
360°周りを見渡したいときはWrapのチェックボックスにチェックをいれるとよいでしょう。
先ほど実行時にカメラを動かすことができたのはCinemachine Input Axis Controllerコンポーネントのおかげです。
デフォルトでLegacy Inputに「Mouse X」「Mouse Y」が入力されているからなのか、マウスカーソルを動かすとカメラが回転するようになっています。
さらにInput Systemにコントローラーごとのカメラを動かす方法を登録しておけば、Cinemachine Input Axis ControllerのInput Actionに登録した処理をアサインするだけで簡単にマルチプラットフォーム対応のFPSコントローラーができちゃうんです。
それから、カメラを動かすときにこのパラメーターを調整したり、観察してみてください。
最後に
今回はCinemachine3.0を使ってFPS視点を作りました。
Cinemachine3.0には他にもいろいろ機能があるのでぜひ試してみてください。