CinemachineのAimをGroup Composerに設定して複数のオブジェクトが必ず映り込むカメラを作る方法をまとめます。
Unity2018.4.0
Cinemachine2.2.9
はじめに
この記事では、CinemachineのVirtual CameraのAimをGroup Composerに設定した時の挙動について説明します。
また説明の便宜上、Followには何もアサインしない状態にしておきます。
なお、Cinemachineの基本的な使い方やVirtual Cameraの設定方法は本記事では説明しません。
これらは以下の記事にまとめていますので、必要に応じて参照してください。
Target Groupを作る
まず映したい対象をグループ化します。
空のGameObjectを作ってCinemachine Target Groupをアタッチし、
Targetの+ボタンを押下して対象となるオブジェクトをアサインします。
Radiusにはそれぞれのオブジェクトの半径を入れておきます。
Group Composerを設定する
次にVirtual CameraのLook Atに前節のTarget Groupをセットします。
そしてAimをGroup Composerに設定します。
これで常に両方のオブジェクトが映るようなカメラを作れます。
Framing Mode
Framing Modeを変えると「何をもって両方のオブジェクトがカメラに映り込んでいると判定するか」が変わります。
例えばFraming ModeをHorizontalにすると、Target Groupが画面横幅に収まっていればカメラに映り込んでいると判定されます。
すなわち縦方向は見切れる可能性が出てきます。
Framing Modeは以下の三種類から選べます。
名前 | 説明 |
---|---|
Horizontal | 画面横基準で映り込み判定 |
Vertical | 画面縦基準で映り込み判定 |
Horizontal And Vertical | 画面横&縦基準で映り込み判定 |
Adjustment Mode
Group Composerはカメラの回転値の他に、FoVや対象までの距離(すなわちカメラの位置)を変えることでこの機能を実現しています。
本来Aimはカメラの回転値のみを変える機能なので、Group ComposerはAimの中でもかなり特殊なモードであるといえます。
さてGroup Composer単体で使う場合にはFoVやカメラの位置を自動的に変えてくれるのは便利ではありますが、これらを変えて欲しくない場合もあるかと思います。
このような場合にはAdjustment Modeを変更することで対応できます。
各モードの説明は下記の通りです。
名前 | 説明 |
---|---|
Zoom Only | FoVだけを変更する |
Dolly Only | 位置だけを変更する |
Dolly Then Zoom | FoVも位置も変更する |
その他の設定項目はComposerと同じ
Group Composerのその他の設定項目に関してはComposerと同じなので割愛します。
Composerの設定項目については下記にまとめていますので必要に応じて参照してください。