「Unity/Cinemachine/基本」の版間の差分
(→基本的な使い方) |
(→VCamごとに切り替え方法を指定する) |
||
(同じ利用者による、間の19版が非表示) | |||
行1: | 行1: | ||
==基本的な使い方== | ==基本的な使い方== | ||
#MainCameraのInspectorから、AddCompornentして、CinemachineBrainを追加する | #MainCameraのInspectorから、AddCompornentして、CinemachineBrainを追加する | ||
− | #空のGameObjectを作って、Zを-10にして、Inspectorから、AddCompornentして、ChinemachineVirtualCameraを追加する(もしくは、Unityメインメニュー/Cinemachine/CreateVirtualCamera) | + | #空のGameObjectを作って、Zを-10にして、Inspectorから、AddCompornentして、ChinemachineVirtualCameraを追加する(もしくは、Unityメインメニュー/Component/Cinemachine/CreateVirtualCamera) |
#追っかける3Dオブジェクトを作って(ここではCube)、ChinemachineVirtualCameraのFollowとLookAtへ、それを追加する | #追っかける3Dオブジェクトを作って(ここではCube)、ChinemachineVirtualCameraのFollowとLookAtへ、それを追加する | ||
#ChinemachineVirtualCameraのAimをComposerにする | #ChinemachineVirtualCameraのAimをComposerにする | ||
行31: | 行31: | ||
Unityメインメニュー/GameObject/Cinemachine/VirtualCameraを追加すると"CM vcam1"のオブジェクトがヒエラルキーに追加される | Unityメインメニュー/GameObject/Cinemachine/VirtualCameraを追加すると"CM vcam1"のオブジェクトがヒエラルキーに追加される | ||
− | == | + | ==ズーム== |
− | + | 値が小さいと近い、大きいと遠い | |
+ | cinemachineVirtualCamera.m_Lens.FieldOfView = 80f; | ||
+ | |||
+ | ==キャラクタ追跡時のカメラ移動スピード== | ||
+ | CinemachineVirtualCameraのAimの(HorizontalDamping, VerticalDamping)を0にすれば、即移動する | ||
+ | ==カメラ切替時のスピード== | ||
+ | CinemachineBrainのDefaultBlendのスピードを2から1とかにすると速くなる。 | ||
+ | |||
+ | ==カメラ切替時をカットインする== | ||
+ | CinemachineBrainのDefaultBlendをEaseInOutからCutに変える | ||
+ | |||
+ | 公式:https://docs.unity3d.com/ja/Packages/com.unity.cinemachine@2.6/manual/CinemachineBrainProperties.html | ||
+ | |||
+ | ==VCamごとに切り替え方法を指定する== | ||
+ | #CinemachineBrainのCustomBlendの"CreateAsset"ボタンを押し、CustomBlendファイルを作成する | ||
+ | #FromとToに個別のVCamをドラッグ&ドロップで指定し、Styleに、切替方法(CutやEaseInoutなど)を指定する。 | ||
+ | |||
+ | 公式:https://docs.unity3d.com/ja/Packages/com.unity.cinemachine@2.6/manual/CinemachineBlending.html | ||
+ | |||
+ | ==画面の上下にターゲット範囲を移動== | ||
+ | ===画面中央から上側へ=== | ||
+ | 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の値を、初期値の0.5から値を上げる。コードだと以下の通り。 | ||
+ | <pre> | ||
+ | cinemachineVirtualCamera.GetCinemachineComponent(CinemachineCore.Stage.Aim).GetComponent<CinemachineComposer>().m_HorizontalDamping = 20; | ||
+ | </pre> | ||
+ | |||
+ | 参考:https://docs.unity3d.com/ja/Packages/com.unity.cinemachine@2.6/manual/CinemachineAimComposer.html |
2024年7月30日 (火) 05:36時点における最新版
目次
基本的な使い方
- 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とかにすると速くなる。
カメラ切替時をカットインする
CinemachineBrainのDefaultBlendをEaseInOutからCutに変える
VCamごとに切り替え方法を指定する
- CinemachineBrainのCustomBlendの"CreateAsset"ボタンを押し、CustomBlendファイルを作成する
- FromとToに個別のVCamをドラッグ&ドロップで指定し、Styleに、切替方法(CutやEaseInoutなど)を指定する。
公式:https://docs.unity3d.com/ja/Packages/com.unity.cinemachine@2.6/manual/CinemachineBlending.html
画面の上下にターゲット範囲を移動
画面中央から上側へ
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の値を、初期値の0.5から値を上げる。コードだと以下の通り。
cinemachineVirtualCamera.GetCinemachineComponent(CinemachineCore.Stage.Aim).GetComponent<CinemachineComposer>().m_HorizontalDamping = 20;
参考:https://docs.unity3d.com/ja/Packages/com.unity.cinemachine@2.6/manual/CinemachineAimComposer.html