Unity CinemachineFreeLookカメラの移動範囲1/2

無料でゲームも作れる Unity には、カメラを操作するために便利な Cinemachine モジュールがあります。

Unity Cinemachine トップページの一部

今回は UnityCinemachine の FreeLook バーチャルカメラが移動する Y 軸の高さの範囲を Top, Middle, Bottom の 3 つの Rig の Height を変更して調整します。
また、FreeLook バーチャルカメラを選択したときに表示される Scene ウィンドウの線についても説明します。
※ Unity のバージョンは 2022.3.15f1 です。

前回の記事

前回は UnityCinemachine の FreeLook バーチャルカメラが注視点とするゲームオブジェクトを設定することで、追従するだけではなく、そのゲームオブジェクトを中心に表示するように設定しました。

Unity Scene ウィンドウにバーチャルカメラの向きが表示されました.

FreeLook バーチャルカメラ選択時の線の意味

Hierarchy ウィンドウで FreeLook バーチャルカメラのゲームオブジェクトを選択した状態の Scene ウィンドウの例です。

カメラアイコンが FreeLook バーチャルカメラの場所です。
左下にある CubeLookAt プロパティで注視するように設定したゲームオブジェクト、被写体のようなものです。

Cube の上に 3 つの円軌道が赤線で表示されています。これは Rig (円材という訳語がありました)と呼ばれます。
各 Rig は、それぞれ Radius (半径) プロパティで円の大きさを変えることが出来ます。

その 3 つの Rig をつなぐように縦に湾曲して走っている線はそれぞれの Rig 同士を上下にカメラが移動する線で、各 Rig の Radius と Height (Y 軸の高さオフセット) に沿ってカメラが上下移動する線です。

Unity Cinemachine FreeLook バーチャルカメラ選択時にSceneウィンドウで表示される線の説明

マウスを上下に移動するとバーチャルカメラも上下に各 Rig の配置されている高さの範囲内で移動します。
マウスを左右に移動するとその高さで近い Rig の円軌道に合わせてカメラが水平に回転します。

Height, RadiusTop、Middle、Bottom リグの、Follow ターゲットに相対的な高さと半径です。
Cinemachine Free Look Camera | Cinemachine | 2.6.0

カメラを配置する各 Rig の切替表示

FreeLook バーチャルカメラを配置する円軌道の Rig は、Top, Middle, Bottom の 3 つの異なる高さ(Y 軸) と半径を設定できます。

FreeLook カメラはこの 3 つの Rig の円軌道が配置されている Y 軸の高さの範囲を移動します。
そのときに近い Rig の円軌道との兼ね合いで周回します。

Unity エディタ再生時はマウスで上下移動させなくても、CinemachineFreeLook コンポーネントの Orbits セクションの Top Rig, Middle Rig, Bottom Rig のトグルボタンを選択することで配置する Rig を切り替えられます。

Unity CinemachineFreeLook コンポーネント Orbits セクションの各 Rig トグルボタンを押すと上中下の円軌道のどれにカメラを配置するか切り替えられます.

Top Rig を選ぶと、上の円軌道にカメラが配置されます。

Middle Rig を選ぶと、中間の円軌道にカメラが配置されます。

Bottom Rig を選ぶと、下の円軌道にカメラが配置されます。

各 Rig の Height プロパティ

上中下の 3 つの円軌道 Rig を結ぶように縦に伸びている曲線は Rig ごとの高さの差を表しています。
CinemachineFreeLook コンポーネントの Orbits の中にある各 Rig の Height プロパティを変更することで、それぞれの高さの差が変更できます。

カメラの上下の移動は、 Height で順番を入れ替えられる

Rig は、被写体のゲームオブジェクト(例では Cube) が配置されている Y 座標基準にしています。

Middle が Bottom よりも低い位置にあったとしても、マウスの上下移動に伴うカメラの上下移動Top ⇔ Middle ⇔ Bottom の順番で行われるます。
例えば、以下のように Middle を 一番下にした場合は Bottom(中) → Middle (下) → Top(上) のような曲線を描いて移動します。

下の図と動画は Height を Top Rig は 4.5, Middle Rig は -2.0, Bottom Rig は -1.0 にして、 Middle と Bottom の高さの関係を入れ替えた場合に、マウスの上下移動でカメラの上下移動をした例です。

Unity Cinemechine FreeLook バーチャルカメラ 各RigのHeightを変えて上下関係を変えてもマウス上下移動では同じ順番で移動します.

Y 軸の高さの位置関係は変わっても、 Top, Middle, Bottom の順番で Y 軸方向を移動します。

各 Rig の Height (高さ) の変更

既定値では Bottom が被写体より少し上にあるので、少し下側からキャラクターをとらえることができませんでした。
また、高い位置から俯瞰する際にももう少し範囲を広げたいと思いました。
そこで、 Bottom Rig の Height を被写体よりも少し下に、 Top Rig の Height は既定値よりも上に変更しました。

変更前の Height (高さオフセット)変更後の Height(高さオフセット)
Top Rig4.56.0
Middle Rig2.52.0
Bottom Rig0.4-2.0

左側の Scene ウィンドウに細い赤線で円が 3 個あります。

Unity Cinemachine FreeLook バーチャルカメラの Height の変更例.上下に移動する範囲を少し広くしました.

既定よりも Height 変更後の方が、 Top, Bottom Rig の Y 軸のが上下の移動範囲は広くなっています。

Unity Cienmechine FreeLook バーチャルカメラの各RigのHeight変更前後

以下は Height 変更前の既定値の Height, Radius で FreeLook バーチャルカメラを移動した例です。
マウスを上下に移動するとバーチャルカメラも上下に各 Rig の配置されている高さの範囲内で移動します。
マウスを左右に移動するとその高さで近い Rig の円軌道に合わせてカメラが水平に回転します。

以下は Height 変更後の動画です。変更前よりもカメラの移動する Y 軸(高さ)の幅が広がっています。

今回はここまで

今回は UnityCinemachine の FreeLook バーチャルカメラが移動する Y 軸の高さの範囲を Top, Middle, Bottom の 3 つの Rig の Height を変更して調整しました。
また、FreeLook バーチャルカメラを選択したときに表示される Scene ウィンドウの線についても説明しました。

次回は Rig の Radius (半径) を調整します。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました