バッテラが如く

プログラミングしましょ!

【Unity】キャラクターを追従するカメラをCinemachineで作る方法

この記事の情報は次のバージョンで動作確認しています。

  • MacOS Monterey (12.1) @
  • Unity (2021.3.2f1)
  • Unity

    はじめに

    どうも、バッテラです。

    カメラは特定の位置を映すだけなので、キャラクターが移動してもカメラは動きません(下参考)

    これをCinemachineというアセットを使いキャラクターに追従させるようにします。

    Cinemachineはかなり複雑で1個1個解説するとキリがないので、 今回はCinemachineについての解説ではなく、どうやったら追従できるかに焦点を当てて説明を進めます。

    1. Cinemachineの導入

    CinemachineはUnityのパッケージマネージャーでインストールが必要です。

    インストールするには、

    Windows → PackageManagerといき、PackagesUnity Registryに切り替えます。

    その中にあるCinemachineを選び右画面にあるInstallをクリックします。

    これで導入はOKどす。

    2. CinemachineBrainをカメラにアタッチ

    カメラオブジェクトを選択します

    Add ComponentCinemachineBrainをアタッチします。

    3. VirtualCameraを新規作成

    ヒエラルキーウィンドウ上で右クリック → CinemachineVirtualCameraで作成します。

    たぶんCM vcam1という名前のゲームオブジェクトができるでしょう。

    それを選択するとCinemachineVirtualCameraというコンポーネントがあります。

    次項でCinemachineVirtualCameraを調整していきます。

    4. VirtualCameraがキャラクターを追従するようにする

    キャラクターに追従するにはFollowLook Atにキャラクターのオブジェクトをセットします。

    BodyTransposerに変更しプルダウンを開きましょう

    Transposerはオフセットの値を保ったままカメラの位置が移動します。

    BindingModeWorkspace変更します。

    Follow Offset がオフセット値になります。

    LensVertical FOVをで画角の調整をします。

    実際にキャラクターを動かしながらパラメータを調整するとよいでしょう。

    5. 完成

    これでカメラがキャラクターに追従するようになりました!