今回はUnityのStandardAssetsにあるCamerasのFreeLockCameraRigを使用してみます。
FreeLockCameraRigはキャラクターを自動で追従したり、マウス操作でキャラクターを写す角度を変更したりすることが出来ます。
望遠レンズでキャラクターを写しているかのようなカメラの機能は

の記事を見てください。
FreeLockCameraRigの設置
FreeLockCameraRigはAssets→StandardAssets→Cameras→PrefabsのFreeLockCameraRigプレハブをヒエラルキー上に配置する事で使用出来ます。
FreeLockCameraRigの子要素にカメラがある為、最初から配置されているMainCameraを非アクティブか削除しておきます。
FreeLockCameraRigの階層は
↑のようになっており、FreeLockCameraRigの子要素にPivot(カメラの基点)がありその子要素にカメラが設置されています。
FreeLockCameraRigのインスペクタを見ると
↑のようにFreeLockCameraRigで使われているスクリプトはFreeLockCamとProtectCameraFromWallClipです。
これらのスクリプトの設定を見ていきましょう。
FreeLockCam
FreeLockCamスクリプトはターゲットを追いかけたりマウスの移動によってカメラを回転させたりしています。
Turn SpeedとTurn Smoothingでカメラの回転度合いを調整します。
Tilt MaxとTilt Minはカメラの角度に制限を持たせる為の設定で限界値を設定しておきます。
ProtectCameraFromWallClip
ProtectCameraFromWallClipスクリプトは写しているターゲットとカメラの間に他のゲームオブジェクトがあり、ターゲットを写せなくなった時にターゲットを写す為の処理をしています。
FreeLockCameraRigのパラメータを設定して確認
FreeLockCameraRigの設定値を見てきたので実際に設定して確認してみます。
↑のような感じで設定してみました。
ヒエラルキー上に地面と壁、動くキャラクターを設置しキャラクターをFreeLockCamスクリプトのTargetにドラッグ&ドロップします。
それでは試してみましょう。
↑のようになりました。
キャラクターが動くとカメラが追従してゆき間に障害物があるとカメラが障害物の前に移動しキャラクターを写すようになります。
動画の最後の方でVertical Auto Returnのチェックを入れるとマウスでカメラの角度を変更した後に自然に角度が元に戻っているのがわかると思います。
Return Timeが非常に短い為にただカクついてるだけに見えてしまいますが・・・・・(^_^;)