CinemachineでFree Look Cameraを使ってユーザが対象をあらゆる角度から見回せるカメラを作る方法をまとめました。
Unity2018.4.0
Cinemachine2.2.9
はじめに
この記事ではCinemachineのFree Look Cameraという機能について説明します。
Cinemachineの基本的な使い方やVirtual Cameraの設定方法は本記事では説明しません。
これらは以下の記事にまとめていますので、必要に応じて参照してください。
Free Look Camera?
Free Look CameraはCinemachineで複数のVirtual Cameraをまとめて
一つのVirtual Cameraのように振舞わせるManager Cameraという機能の一つです。
Free Look Cameraを使うとユーザの入力によって対象をあらゆる角度から見回せるようなカメラワークを作れます。
設定方法としてはVirtual CameraのOrbital Transposerを応用したものになるので、
Orbital Transposerを先に理解することをおすすめします。
Free Look Cameraを作る
Free Look Cameraを使うにはまず上部のメニューからCinemachine > Create FreeLook Cameraを選択します。
するとHierarchy上にFree Look CameraのGame Objectが作られます。
このFree Look CameraのFollowとLook Atに対象をアサインします。
するとSceneビューが次のような表示なります。
赤色の円が三つ描かれていることがわかります。
Orbital Transposerではこの円が一つで、X軸の入力に応じてこの円上をカメラが移動しました。
Free Look Cameraでは三つの円の一つ一つがOrbital Transposerのように振舞います。
そしてY軸の入力に応じてどの円上(あるいは円と円の間)を動くかが決まります。
要するにFree Look Cameraとは、「上下移動もできるOrbital Tranposer」ということになります。
軌道を設定する
さてそれでは細かい設定をしていきます。
まずそれぞれの円の高さと半径をOrbitsのRig設定から調整します。
Spline Curvatureを変えるとカメラがY軸方向に移動する際に通る軌道を調整できます。
そしてこれらの設定の下に軌道ごとの設定項目があります。
Bodyには自動的にOrbital Transposerが設定されるので変更できなくなっています。
Dampingだけが設定できます。
AimにはComposer以外も何でも設定できます。
ただ用途を考えるとComposerにすることが多いのではないかと思います。
Composerの設定方法は次の記事を参照してください。
また軌道ごとに注視対象を変えたければLook At Overrideを使えます。
あまり使わなさそうですが。
結果
上記の設定が終わったら再生して挙動を確認します。
ユーザ入力により対象をあらゆる角度から見回せるカメラを作れました。