++bibouroku

自分の知ったことは他の人の知りたいことかもしれない。Unityを中心とした備忘録。

Cinemachine Trigger Action で指定領域でのVirtual Cameraを指定する

トリガーコライダーにヒットしたら指定のVirtual Cameraを有効化する。 こういうことやりたいなぁと思っていたらCinemachineに最初から入っていました。

Cinemachine Trigger Actionというコンポーネントです。 このコンポーネントを使用すると以下のようにVirtual Cameraを有効化・無効化することができます。

f:id:y-ramen:20181124194653g:plain

Cinemachine Trigger ActionのActivateアクションでMoveToTopOfPrioritySubqueueを呼び出しています。
このメソッドを呼び出すと同じプライオリティのカメラが複数ある場合に自身が選択されるようになります。
つまり、非アクティブなVirtual Cameraをアクティブにしたときと同等の効果が得られます。
そのため、事前にVirtualCameraを非アクティブにしておく必要はありません。

さらに、以下のようなCinemachineでカメラを運用するにあたり必要になりそうな機能はあらかた入っている優れものです。

  • ヒットしたオブジェクトのタグでのフィルタリング
  • 初回は反応をスキップする

※文中のスクリーンショットFree Platform Game Assetsというアセットを使用しました。