UnityのStandardAssetsにあるMultipurposeCameraRig(多目的カメラ)を使ってみる

今回はUnityのStandardAssetsにあるMultipurposeCameraRigを使って、カメラがキャラクターを追従する様子を確認したいと思います。

MultipurposeCameraRigはキャラクターが移動したら追いかけていき、キャラクターが回転していない時にカメラをキャラクターの後ろ側に回りこませます。

スポンサーリンク

MultipurposeCameraRigの設置

MultipurposeCameraRigをヒエラルキーに設置してみます。

AssetsフォルダにあるStandardAssets→Cameras→Prefabs→MultipurposeCameraRigをヒエラルキー上にドラッグ&ドロップします。

元々設置しているMain Cameraを非アクティブにするか削除します。

MultipurposeCameraRigのインスペクタは

MultipurposeCameraRigのインスペクタ

↑のようになっています。

ProtectCameraFromWallClip、AutoCamスクリプトが設定されています。

ProtectCameraFromWallClipはターゲットとカメラの間に障害物があった時にカメラを移動させるスクリプトで、FreeLockCameraRigの記事で説明しているのでそちらを参照してください。

UnityのStandardAssetsにあるFreeLockCameraRigの設定値を見ていき、キャラクターの追従と壁でキャラクターが見えなくなった時の様子を見てみる

AutoCam

AutoCamはターゲットの移動に合わせてカメラを移動させ、ターゲットが回転していない時に後ろに回り込むようにするスクリプトです。

  • Targetはカメラが追従するターゲットを設定します。
  • Auto Target Playerにチェックを入れるとPlayerタグを設定したゲームオブジェクトを自動でTargetに設定します。
  • Update Typeは処理をするタイミングで、FixedUpdateは固定フレームレート、LateUpdateはUpdateの後、ManualUpdateは自分でメソッドを呼び出し処理をします。
  • Move Speedはカメラがターゲットを追いかけるスピードを設定します。
  • Turn Speedはカメラがターゲットの後ろに回り込むスピードを設定します。
  • Roll Speedはちょっとわかりませんが、ターゲットの上向きの方向を求める時のスピードみたいです。
  • Follow Velocityはカメラの回転をオブジェクトの速度方向に揃えるかどうか、回転方向を動いている方向に合わせるんですかね
  • Follow Tiltは傾きに合わせて追従するかどうか
  • Spin Turn Limitはターゲットの回転に合わせてカメラが回転するしきいの角度
  • Target Velocity Lower Limitはカメラがターゲットの方向に向かう最小速度
  • Smooth Turn Timeはカメラの回転のスムーズ度合い
  • となります。

    Follow Velocity以下は色々操作してもよくわかりませんでした・・・・(^_^;)

    MultipurposeCameraRigの設定と確認

    それでは設定して確認してみます。

    MultipurposeCameraRigの設定

    MultipurposeCameraRigはターゲットの後ろ側に回り込むのでキャラクターの動きを↑のキーを押したらキャラクターが向いている方向に進み、←、→のキーを押したらキャラクターを回転させるだけにして確認してみます。

    ↑のようになりました。

    キャラクターの回転が止まるとカメラがキャラクターの後ろに回り込んでいますね。

    このキャラクターの動きはわたくしが自前で作ったスクリプトで動かしているもので、↑でキャラクターの前方に進み、←、→のキーでキャラクターをその方向に回転させています。

    スタンダードアセットのThirdPersonCharacterを使った場合は、MultipurposeCameraRigの動きもちょっと違ったものになるので確認してみてください。

    スポンサーリンク

    記事をシェアして頂ける方はこちら

    フォローして頂くとやる気が出ます