LoginSignup
2
0

Unity Cinemachineでカメラ制御する

Posted at

CinemachineとはUnity公式のカメラ制御システム。画面の揺れとか、カメラの動きを設定できる。

2dゲームにおいては特定のキャラクタにズーム、画面の揺れ、チュートリアル的なムービー、ピクチャインピクチャを使い二つの画面を1画面に映すなどが考えられる。
キャラクタにだけ焦点をあてるならProCamera2Dという有料アセットがあるのでそれを使用したほうがよさそう。

Virtual Cameraとは

Cinemachineでは複数のVirtualCameraを作成し、それを切り替えることでカメラの切り替えを実現している。

image.png
image.png

どのVirtualCameraを使用するか切り替えているのがCinemachineBrainと呼ばれるもの
image.png

これがカメラ設定の中心になる。

カメラを切り替えてみる

新しくGameObjectを作成し、Component>Cinemachine>CinemachineVirtualCameraを追加する
image.png
image.png
image.png

再生中に使用している方の VirtualCameraを非アクティブにする。
image.png
image.png
するとカメラ切り替わる。

別の方法ではPriorityを変更する。数が多いものほど優先してカメラが切り替わる。この値とスクリプトで制御することもできる。
image.png

カメラ切り替わり方を変更する

パッと切り替えたり、じわっと切り替えたの設定はCinemachineBrainのDefault Blendで設定する。
image.png
image.png

パッと切り替えたい時は0にしたり、Customで好きなEaseで切り替えることもできる。

複雑な制御をしかっこいいカメラの動かし方をする。

複雑な制御をするにあたってTimeLineを使う。TimeLineは2秒間はこのカメラ、その後3秒間は次のカメラ、のようのな制御をすることができる。
Projectで右クリック> Create > Timeline
image.png
適当なオブジェクトにPlayableDirectorを追加
image.png
作成したTimeLineを追加
image.png

Window > Sequencing > Timelineを開く
image.png

プラスマークからCinemachine Trackを追加
image.png

image.png
VirtualCameraのゲームオブジェクトをTimeLine上にD&Dすると追加できる。カメラを2個と追加した。

シークの橋をかぶせるように移動させるとブレンド具合が変化する。
image.png

再生するとカメラが切り替わるのがわかる。これを応用すれば好きなにカメラを置いて、好きなタイミングで切り替えることができる。

カメラを複数同時に1画面に表示する。

Cinemachineでは複数のカメラを切り替えるというのが基本的な制御方法になっているため同時に表示するには別の方法が必要。

新しいカメラを追加する。
Hierarchy右クリック>Cameraを追加
image.png
画面上のどの位置にカメラを表示するかの設定はViewporRactで設定する
image.png

再生で確認してみると左上に全体小さくした部分が出来ている。これで複数の画面を同時に表示できた。
image.png

Tips

Camera設定が動かない

CameraのSizeや設定はVirtualCameraの設定に紐づけされているため設定値を変えるときはVirturalCamera側を変更する。
image.png

image.png

カメラになにも映らない。

2Dだとよくありがち、カメラがどこからどこまでを映しているのかを確認する。一度3Dにするとわかりやすい。
image.png
ここらへんや
image.png
ポジションの位置(z軸など)を変更して調整する
image.png

参考サイト

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0