CinemachineでVirtual Cameraをブレンドしながら切り替える方法をまとめました。
- はじめに
- ブレンドするにはPriorityの高いVirtual Cameraをオフにするだけ
- ブレンドのイージングを切り替える
- ブレンドの時間を切り替える
- ブレンドを遷移ごとに指定する
- ブレンド時の軌道を設定する
- 参考
Unity2018.4.0
Cinemachine2.2.9
はじめに
この記事ではCinemachineのVirtual Cameraをブレンドする方法について説明します。
Cinemachineの基本的な使い方やVirtual Cameraの設定方法は本記事では説明しません。
これらは以下の記事にまとめていますので、必要に応じて参照してください。
ブレンドするにはPriorityの高いVirtual Cameraをオフにするだけ
CinemachineではPriorityの高いVirtual CameraのGameObjectやコンポーネントをオフにすることで次のカメラに自動的にブレンドされます。
基本はこれだけです。とても簡単。
ブレンドのイージングを切り替える
さてこのブレンドのイージングはCinemachine Brainで調整することができます。
まずイージングを切り替えるにはDefault Blendのドロップダウンを選択します。
Cutを選択すればパッと切り替わるカメラが作れます。
Hard Outを選択すれば初速が速くなります。
またCustomを選択すれば、自身でAnimationCurveを定義することも可能です。
ブレンドの時間を切り替える
ブレンドの時間を切り替えるにはDefault Blendの左にあるsという名前のフィールドに遷移時間を入力します。
時間を前節の倍にしたところ、ゆっくりブレンドするようになりました。
ブレンドを遷移ごとに指定する
ここまでの方法では、指定したブレンド方法がすべてのカメラ遷移時に使われます。
特定の遷移だけブレンド方法を変えたい場合にはCustom BlendsのCreate Assetボタンを押します。
するとブレンド設定用のアセットがアサインされ、ブレンド方法を細かく設定できるようになります。
+ボタンを押して遷移情報を追加していきます。
今回は、Virtual Camera01からVirtual Camera02に遷移するときには1秒でEase In Outするようにしました。
また、Virtual Camera01への遷移はどのカメラからでもCutでパッと切り替わります。
再生してこの挙動を確認してみます。
正常に設定できていることが確認できました。
ブレンド時の軌道を設定する
いま、FollowとLook Atに同じ対象を入れたVirtual Cameraが二つあることを考えます。
二つを普通に遷移させるとこんな感じになります。
二つのカメラの位置が線形補間されているため、対象に一時的にかなり近寄ります。
ここでいずれかのVirtual CameraのTransitions > Blend HintをSpherical Positionに変更します。
すると、対象を中心とした円状をカメラが動くようなブレンド方法になります。
またBlend HintをCylindrical Positionにすると対象を中心とした円柱状を動くようなブレンド方法になります。