Cinemachineを使うとあらゆるカメラワークを簡単な設定で作成できます。
ただし多機能で使いこなすのはなかなか大変なので、この記事ではまず簡単に使ってカメラワークを作ってみます。
- Cinemachineの概要とセットアップ手順
- とりあえず使ってみる
- Virtual Cameraとは何なのか?
- Virtual Cameraの基本 - BodyとAim
- 複数のVirtual Cameraを取り扱う
- Bodyの種類一覧
- Aimの種類一覧
- まとめ
Unity2018.4.0
Cinemachine2.2.9
Cinemachineの概要とセットアップ手順
Cinemachineはカメラを制御するためのUnityの公式アセットです。
ゲームを作るうえで必要なあらゆるカメラワークを簡単な設定で作成できます。
インストールはPackage Managerから行えます。
Window > Package ManagerからCinemachineと検索してインストールします。
とりあえず使ってみる
それでは簡単なカメラワークを作ってみます。
まずは適当なシーンを用意します。
今回はUnityちゃんを置いていますが、とりあえず何か置いてあればいいです。
シーンを作ったらMain CameraにCinemachine Brainというコンポーネントをアタッチします。
次に空のGame Objectを作ってCinemachine Virtual Cameraをアタッチします。
Virtual Cameraが作れたら、Virtual CameraのFollowとLook Atにカメラに映したいオブジェクトをアサインします。
最後にVirtual CameraのBodyをTransposerに、AimをComposerに設定します。
この状態で再生して対象のオブジェクトを動かすと、カメラがキャラクターをひたすら追いかけていくことが確認できます。
調整は必要なものの、とりあえずキャラクターを追従するカメラワークが作れました。
Virtual Cameraとは何なのか?
前節ではCinemachine Virtual Cameraを空のGameObjectにアタッチし、Main CameraにCinemachine Brainをアタッチしました。
Cinemachineでは、このVirtual Cameraによりカメラの動きが計算されます。
そしてCinemachine Brainがアタッチされているカメラに対してその計算結果を反映します。
これが基本的なCinemachineの仕組みです。
Virtual Cameraの基本 - BodyとAim
さてこのようにCinemachineではVirtual Cameraによって位置や回転(など)が計算されます。
このうち「位置」の計算は先ほど選択したBodyにより決まります。
今回選択したTransposerはFollowに設定したオブジェクトからの一定の位置を保ちながら移動する方式です。
一方、「回転」の計算は先ほど選択したAimにより決まります。
今回選択したComposerはLook Atに設定したオブジェクトの方向を向くように回転する方式です。
このようにCinemachineでは「Body」と「Aim」で「位置」と「回転」方法を決めてカメラワークを作っていきます。
今回でいえばTransposerとComposerにより「オブジェクトから一定の位置を保ちながらオブジェクトの方向を向く」カメラを作りました。
複数のVirtual Cameraを取り扱う
次に複数のVirtual Cameraを取り扱う方法について学びます。
シーン上に複数のVirtual Cameraが置いてある場合、Priorityが高く設定されているVirtual Cameraの計算結果だけが反映されます。
そしてPriorityの高いVirtual Cameraが非アクティブになると、次にPriorityの高いVirtual Cameraの計算が反映されるようになります。
そしてこのとき、二つのVirtual Cameraの計算結果がブレンドされながら切り替わります。
このように設定の異なる複数のVirtual Cameraを作り、ブレンドしながら切り替えていく、というのがCinemachineの基本です。
Bodyの種類一覧
さてここまでTransposerを使っていましたが、Bodyには他にも以下の種類が存在します。
名前 | 説明 |
---|---|
Do Nothing | 何もしない(カメラが動かない) |
Transposer | 対象からのオフセットを保つようにカメラが動く |
Framing Transposer | 対象をスクリーンの特定の位置に映すようにカメラが動く 基本的に2D(Orthographic)用 |
Orbital Transposer | 対象を中心とした円上をカメラが動く |
Tracked Dolly | パスに沿ってカメラが動く |
Hard Lock To Target | Follow Targetと全く同じ位置にカメラが動く |
一覧化しましたが、細かい挙動に関しては使うときに使うものだけ覚えればいいかと思います。
Aimの種類一覧
一方Aimには以下の種類が存在します。
名前 | 説明 |
---|---|
Do Nothing | 何もしない(カメラが回転しない) |
Composer | 対象からのオフセットを保つようにカメラが回転する |
Group Composer | 複数の対象がすべて映るようにカメラを調整する |
POV | ユーザ入力によりカメラが回転する |
Same As Follow Target | Follow Targetの回転値と同じように回転する |
Hard Look At | 常に対象がカメラの中央に映るように回転する |
こちらも使うものだけ挙動を把握すればいいと思います。
まとめ
以上、Cinemachineの最初の一歩として簡単なカメラワークを作り、基本的な概念を学びました。
応用的な使い方は他の記事で解説していますので是非そちらもご覧ください。