カメラは特定の位置を映すだけなので、キャラクターが移動してもカメラは動きません。
これをCinemachine
というアセットを使いキャラクターに追従させるようにします。
Cinemachine
はかなり複雑でキリがないので、今回はどうやったら追従できるかに焦点を当てて解説したいと思います。
■開発環境
Cinemachineの導入
Cinemachine
はパッケージマネージャーでインストールが必要となります。
インストールするには、
Windows → PackageManager
を開きます。
次にPackages
をUnity Registry
に切り替えます。(これ忘れがち)
Cinemachine
を選び右画面にあるInstall
をクリックします。
これで導入はOKです。
今は使える状態になっただけで設定しないと何も変わりません。
CinemachineBrainをカメラにアタッチ
キャラクターを追尾させるカメラにCinemachineBrain
を取り付けます。
カメを選択 → Add Component
でCinemachineBrain
をアタッチします。
これでこのカメラはCinemachine
の影響をうけるようになりました。
VirtualCameraを新規作成
次はVirtualCameraというものを作っていきます。
ヒエラルキーウィンドウ上で
右クリック → Cinemachine
→ VirtualCamera
を作成。
CM vcam1
という名前のゲームオブジェクトが生成されたと思います。
VirtualCamera
はCameraという名前がついていますがCameraオブジェクトとは違い投影する機能はないので、あくまでも設定データだと理解しましょう。
キャラクターに追従するようにする
現状だとこのカメラは"誰に"追従するのか定まっていないのでそれを設定していきます。
CM vcam1
を選択するとCinemachineVirtualCamera
というコンポーネントがあります。
キャラクターに追従させたいのでFollow
とLook At
にキャラクターをセットします。
そうすると既にカメラの見え方が変わりましたよね?
このようにVirtualCamera
をいじると(CinemachineBrainをつけた)カメラの位置や角度が自動で上書かれるようになります。
カメラ本体は一切いじらず調整できるのがCinemachine
ということです。
画角を調整する
このままだと追従はするけど近い遠いなど不都合がある状態だと思います。
なので追従するときの画角を調整していきます。
それをするにはBody
とAim
でやりますが、ここが複雑すぎて沼ります。
なので自分が思う一番シンプルな方法を紹介したいと思います。
Body
はTransposer
を使います。
Transposer
はキャラと一定距離を保って追跡するというものです。
分かりやすくいうとストーカーですね(笑)
BindingMode
はWorkspace
変更します。
Follow Offset
がオフセット値になります。
Lens
のVertical FOV
をで画角の調整をします。
実際にキャラクターを動かしながらパラメータを調整するとよいでしょう。
完成
これでカメラがキャラクターに追従するようになりました!