今回はCinemachineのVirtualCamera(仮想カメラ)を使ってキャラクターを追従させたいと思います。
Cinemachineの機能は追加でアセットをインポートする必要があるので、AssetStoreでCinemachineで検索しインポートしてください。
Cinemachineについては

も参照してください。
CinemachineのVirtualCameraは通常のゲーム時にキャラクターを追従する為だけに使う事も出来、非常に優秀です。
従来のキャラクター追従スクリプトとCinemachineのVirtualCameraの比較
従来の簡易的なキャラクター追従スクリプトとCinemachineのVirtualCameraの比較をしてみます。
Follow TargetやSmooth Followを使った追従
従来のキャラクターを追従するカメラはFollowTargetやSmoothFollowといったスタンダードアセットのUtilityスクリプトがありました。
実際にMain CameraにSmooth Followスクリプトを取り付けて確認してみます。
確認すると、
↑のようにキャラクターをカメラが追従してますが、壁に遮られるとキャラクターが見えなくなったりTerrainで作ったフィールドの中身が見えてしまいます。
それに対応するスクリプトを組み、常にカメラがキャラクターを写すようにする事も出来ますが、CinemachineのVirtualCameraの設定を変更するだけで簡単に出来てしまいます。
CinemachineのVirtualCameraを使った追従
次はCinemachineのVirtualCameraを使ってキャラクターを追従させてみましょう(Smooth Followスクリプトは削除しておきます)。
UnityメニューのCinemachine→Create Virtual Cameraを選択します。
CM vcam1というゲームオブジェクトが作成され、Main CameraにはCinemachine Brainコンポーネントが取り付けられます。
Cinemachine Virtual CameraコンポーネントのExtensionsのAdd Extensionsをクリックし、CinemachineColliderを選択します。
CinemachineColliderを追加すると、ゲームオブジェクトとカメラの間に指定したゲームオブジェクトが入って見えなくなったら、キャラクターを写すように出来ます。
壁やTerrainのゲームオブジェクトにはFieldというレイヤーを設定し、CinemachineColliderのCollide AgainstにはFieldレイヤーを設定します。
Avoid Obstaclesにチェックを入れると障害物を回避します。
Strategyはカメラの回避方法で今回はPull Camera Forwardを設定します。
これで設定が出来ました。
Unityを実行して確認してみると、
↑のような感じでキャラクターとカメラの間にFieldレイヤーを設定したゲームオブジェクトがあるとそれを回避してキャラクターを写すようになります。
非常に優秀なカメラですね。(^^)/