facebook twitter hatena line email

「Unity/Cinemachine/基本」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(CinemachineVirtualCameraの別の追加方法)
(VCamごとに切り替え方法を指定する)
 
(同じ利用者による、間の18版が非表示)
行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にする
行35: 行35:
 
  cinemachineVirtualCamera.m_Lens.FieldOfView = 80f;
 
  cinemachineVirtualCamera.m_Lens.FieldOfView = 80f;
  
==カメラ移動スピード==
+
==キャラクタ追跡時のカメラ移動スピード==
CinemachineVirtualCameraのDampingを0にすれば、即移動する
+
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時点における最新版

基本的な使い方

  1. MainCameraのInspectorから、AddCompornentして、CinemachineBrainを追加する
  2. 空のGameObjectを作って、Zを-10にして、Inspectorから、AddCompornentして、ChinemachineVirtualCameraを追加する(もしくは、Unityメインメニュー/Component/Cinemachine/CreateVirtualCamera)
  3. 追っかける3Dオブジェクトを作って(ここではCube)、ChinemachineVirtualCameraのFollowとLookAtへ、それを追加する
  4. ChinemachineVirtualCameraのAimをComposerにする

こうすれば、3Dオブジェクトにカメラを向けてくれるようになる。

参考:https://ekulabo.com/cinemachine-overview#outline__5

参考:https://light11.hatenadiary.com/entry/2019/07/23/210040

カメラを固定する

  1. MainCameraのInspectorから、AddCompornentして、CinemachineBrainを追加する
  2. 空のGameObjectを作って、Zを-10、XとYを0にして、Inspectorから、AddCompornentして、ChinemachineVirtualCameraを追加する
  3. 追っかける3Dオブジェクトを作って(ここではCube)、ChinemachineVirtualCameraのLookAtへ、それを追加する(Followはnull)
  4. 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に変える

公式:https://docs.unity3d.com/ja/Packages/com.unity.cinemachine@2.6/manual/CinemachineBrainProperties.html

VCamごとに切り替え方法を指定する

  1. CinemachineBrainのCustomBlendの"CreateAsset"ボタンを押し、CustomBlendファイルを作成する
  2. 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