今回はCinemachine を使用してカメラワークを設定してみます。
Cinemachine
Cinemachineは「指定したオブジェクトがカメラの何処に映ってほしいのか」と「複数カメラ座標・設定のブレンド」機能を持ったカメラリグです。
例えば下の図だと、黄色いドットが被写体の位置、青で指定してる範囲が被写体が映る位置です。このカメラ設定だと、被写体がどのように動いても右下に映るように設定されています。
またカメラの位置や設定(Vertual Camera)を設定・ブレンドする事で、複数のカメラを切り替える事が出来ます。
下の図の場合、1カメラから2カメラへ、2カメラから3カメラへ…といった形でカメラを切り替えています。また、切り替える際、二つのカメラをブレンドする形で切り替える事も出来ます。
TimelineとCinemachineを使ってみる
Timelineと組み合わせてみます。
Cinemacine TrackとCinemachine Brainを追加してCameraの設定
まずはCinemachine.Timeline > Cinemacine Trackでトラックを追加します。Trackが要求する物はCinemachine Brain(Cinemachineのカメラ制御するコンポーネント)なので、無ければ追加します。
Cinemachine vertual cameraはカメラの座標と設定
Cinemachine vertual camera(カメラの座標や向き、FOVやLookat等の設定)を使って、実際のカメラの位置を調整します。
この機能を使用するとScene上で設定したカメラ位置は無視される点に注意して下さい。
Cinemacine Trackのシーケンス調整する所を右クリックして、Add Cinemachine Shot Clipを追加します。
追加されたらVirtual Cameraを設定しますが、無ければCreateで作成します。Virtual Cameraはショット(カメラワーク)の数だけ作る感じです。
位置には「CM」が表示されるので、分かりやすいです。
カメラのブレンドはTimelineで
カメラをブレンドします。
二つのシーケンスを混ぜればOKです。ドラッグ&ドロップで重なるように移動すれば、ブレンドする設定になります。
重なる幅が広ければ広いほどゆるやかに、狭ければ狭いほど急激に変化します。全くブレンドしたくない場合は、重ならないようにすれば一瞬で切り替わります。
カメラが見る場所はLookAtとAim
カメラが見るべき場所を指定します。Look Atに見たいオブジェクトを指定、AimをComposerに設定します。
後はカメラが映すべき場所に範囲を指定します。枠はGameViewをドラッグすれば、大きくしたり小さくしたり出来ます。
また映すべき対象の中央をドラッグすれば、位置をズラす事が出来るので、画面左端や右端に被写体を写したい場合は、これで動かします。
注意すべきは、この操作を行うためにはTimelineで指定のカメラを使用しているかつTimelineでシーケンスを選択している必要があります。
つまり、下のような状態です。上はP4を選択中かつTimelineでP4を再生中なので、編集が可能です。下はP4を選択していますがTimelineがP4を再生する位置に居ないので、編集出来ません。
Cinemachineの入手
Cinemachineの入手ですが、現在はフォーラムで公開されています。
将来的にはAssetStoreに移動したり、Unity Engineに統合されるかもしれません。