2D Cameraの概要
2D Cameraを追加するにはメインメニューから「Cinemachine」>「Create 2D Camera」を選択します。
2D Cameraを追加すると、
- ヒエラルキーウィンドウに「CM vcam1」オブジェクトが
- Cameraオブジェクトに「CinemachineBrain」コンポーネントが
それぞれ追加されます。
CM vcam1が追加される事からわかるように、最初に配置したカメラがVirtual Cameraでも設定をうまく弄れば同じ動作を実現する事ができます。
ヒエラルキーウィンドウでCM vcam1を選択して出てくるインスペクタウィンドウからカメラの詳細を設定していきます。
2D CameraではVirtual Camera同様にFollowに設定したオブジェクトの位置を基準にカメラが追従しますが、z軸方向には動かずにAimの回転も行われないので、2D Cameraの名前の通り横スクロールゲームのような動作をします(名前は2D Cameraですが、3Dでももちろん利用可能です)。
2D Cameraの使い方
Follow、LookAtを設定
この辺はVirtual Cameraと同じです。
Bodyを設定
Bodyについても大まかにはVirtual Cameraと同じですが、デフォルトの設定が「Framing Transposer」になっています。
Framing Transposerは前述の通り、「ターゲットに対して一定の距離(スクリーンスペースにおける距離)を維持しながら追従」する動きを実現します。
カメラを追加した初期の設定ではY座標が0になって地面から見上げるようなカメラになってしまっているので、とりあえずは「Screen Y」をちょっと大きくして調整をすると良さそうです。
ステージ外の領域がカメラに入らないようにする
Virtual Cameraはエクステンションを追加する事でカメラの機能が拡張できるのですが、2D Cameraではステージ外の領域をカメラに入れないようにする機能が使えると便利なので紹介しておきます。
Cinemachine Confinerを追加する
インスペクタウィンドウのExtensions > Add Extension > (select)にある「CinemachineConfiner」を追加します。
Cinemachine Confinerが追加されたのがわかるかと思います。
Polygon Collider 2Dを追加する
次にカメラで写していい領域をPolygon Collider 2Dで設定します。
ステージとして配置しているゲームオブジェクトにPolygon Collider 2Dコンポーネントを設定して、カメラで写したいステージ上の領域を設定します。
赤枠の部分からポリゴンの編集が行えるようになります。 プレイヤーなどのオブジェクトが衝突すると困るので、Is Triggerにもチェックを入れておきます。
領域は緑の枠で表示されるので、各頂点を移動させて、こんな感じで設定します。
Cinemachine ConfinerにPolygon Collider 2Dを設定する
最後に先ほど設定したCinemachine Confinerの、Bounding Shape 2Dに作成したPolygon Collider 2Dをドラッグ&ドロップすると設定が完了します。
これでカメラが画面の外を移さないように動くようになりました。