「Unity/Cinemachine/基本」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→左右の移動を遅く) |
(→左右の移動を遅く) |
||
行56: | 行56: | ||
==左右の移動を遅く== | ==左右の移動を遅く== | ||
− | + | AimのHorizonalDampingの値を上げる。コードだと以下の通り。 | |
+ | <pre> | ||
+ | cinemachineVirtualCamera.GetCinemachineComponent(CinemachineCore.Stage.Aim).GetComponent<CinemachineComposer>().m_HorizontalDamping = 20; | ||
+ | } | ||
+ | </pre> |
2024年7月16日 (火) 03:01時点における版
目次
基本的な使い方
- MainCameraのInspectorから、AddCompornentして、CinemachineBrainを追加する
- 空のGameObjectを作って、Zを-10にして、Inspectorから、AddCompornentして、ChinemachineVirtualCameraを追加する(もしくは、Unityメインメニュー/Component/Cinemachine/CreateVirtualCamera)
- 追っかける3Dオブジェクトを作って(ここではCube)、ChinemachineVirtualCameraのFollowとLookAtへ、それを追加する
- ChinemachineVirtualCameraのAimをComposerにする
こうすれば、3Dオブジェクトにカメラを向けてくれるようになる。
参考:https://ekulabo.com/cinemachine-overview#outline__5
参考:https://light11.hatenadiary.com/entry/2019/07/23/210040
カメラを固定する
- MainCameraのInspectorから、AddCompornentして、CinemachineBrainを追加する
- 空のGameObjectを作って、Zを-10、XとYを0にして、Inspectorから、AddCompornentして、ChinemachineVirtualCameraを追加する
- 追っかける3Dオブジェクトを作って(ここではCube)、ChinemachineVirtualCameraのLookAtへ、それを追加する(Followはnull)
- ChinemachineVirtualCameraのAimをComposerにする
こうすれば、カメラを固定したまま、3Dオブジェクトにカメラを向けてくれるようになる。
カメラで追跡
- ChinemachineVirtualCameraのBodyを、transposerにすると、3Dオブジェクトを、カメラが、追っかけてくるようになる。
仮想カメラを複数用意してカメラ切り替え
- ChinemachineVirtualCameraのオブジェクトを複数用意
- ChinemachineVirtualCameraのPriorityに、それぞれ別の値を入れる
- 一方の、ChinemachineVirtualCameraを非アクティブにすると、じんわり、切り替わる。
Priorityの大きいほうが、稼働カメラとなる。
CinemachineVirtualCameraの別の追加方法
Unityメインメニュー/GameObject/Cinemachine/VirtualCameraを追加すると"CM vcam1"のオブジェクトがヒエラルキーに追加される
ズーム
値が小さいと近い、大きいと遠い
cinemachineVirtualCamera.m_Lens.FieldOfView = 80f;
キャラクタ追跡時のカメラ移動スピード
CinemachineVirtualCameraのAimの(HorizontalDamping, VerticalDamping)を0にすれば、即移動する
カメラ切替時のスピード
CinemachineBrainのDefaultBlendのスピードを2から1とかにすると速くなる。
画面の上下にターゲット範囲を移動
画面中央から上側へ
AimのScreenYを0.5から0.4へ
画面中央から下側へ
AimのScreenYを0.5から0.6へ
DeadZoneWidthを0だと範囲がわからないので、DeadZoneWidthを0から増やすと、範囲を確認できる
ロックオンのような動作
- "Look At"に敵を入れる
- "Follow"にプレイヤーを入れる
参考:https://qiita.com/jusmiso/items/34fa5a97cc440674b801
左右の移動を遅く
AimのHorizonalDampingの値を上げる。コードだと以下の通り。
cinemachineVirtualCamera.GetCinemachineComponent(CinemachineCore.Stage.Aim).GetComponent<CinemachineComposer>().m_HorizontalDamping = 20; }