Cinemachine插件学习笔记

文章目录

一.什么是Cinemachine

Cinemachine插件学习笔记
Cinemachine插件学习笔记
Cinemachine插件学习笔记

目标就是让故事的讲述者容易的操作镜头,快速的创建一组摄像机(Sequencing)序列.timeline的布局本身就在Sequencing序列之下。

Cinemachine插件学习笔记

二. Cinemachine基本功能

1.导入Cinemachine

Window–>Package Manager–>搜索Cinemachine

2.Cinemachine所有功能

Cinemachine插件学习笔记

三.所有相机功能

1.Create 2D Camera(创建2D虚拟相机)

Cinemachine插件学习笔记


创建后会在Hierarchy创建一个CM vcam1游戏物体
游戏物体上只有一个CinemachineVirtualCamera组件

并且在Main Camera(主摄像机)上添加一个CinemachineBrain组件

(1)CinemachineBrain组件

Cinemachine插件学习笔记
Cinemachine插件学习笔记

我们的游戏可能会有三到四个虚拟相机,我们的主相机到底决定使用哪个虚拟相机渲染画面由CinemachineBrain来控制的。
CinemachineBrain就相当与艺术总监或者技术总监,他是像一个指挥官一样在Unity项目中控制指挥所有的我们场景上的虚拟摄像机。

所有属性:

1.Live Camera:当前Live正在直播使用的虚拟相机。

2.Live Blend:两个虚拟相机混合时显示的状态。

Show Debug Text:当前直播,激活的虚拟相机名称以及之后的混合状态(显示在Game窗口左上角位置)

Show Camera Frustum:默认勾选,在场景窗口显示相机的视锥。

Ignore Time Scale:不会收到Time.timeScale的影响(粒子,动画都有类似功能)

World Up Override:复写世界坐标系的Up向上Y轴方向,如果这个数值为None,空的话,则是世界坐标系的Y轴。在一些极端向上和向下的情况下,这里的设置会极大的避免gimbal-lock万向节锁

Update Method:虚拟相机在什么时候更新Pos和Rotation。

Blend Update Method:何时在主相机上进行混合以及Update更新.

Default Blend:相机之间融合效果在什么时候进行更新。

Custom Blends:自定义融合,混合效果。创建一个资源文件自定义从VC1到VC2,花费多少时间,什么融合效果等等。

Events:一个是Cut Event,任何情况下只要虚拟相机正在控制,就会触发;另一个是相机激活状态时触发的事件。
Cinemachine插件学习笔记

(2)CinemachineVirtualCamera组件

0.Priority:虚拟显示优先级。数字越高,多个虚拟相机值越高优先渲染。

Cinemachine插件学习笔记

1.跟随属性:Follow和Look At

3D中的LookAt对相机的影响比较大,在2D中LookAt的效果并不明显。

2.虚拟相机中调整的数值将会同步到主相机对应的数值上,主相机是无法手动控制的,也无需设置,全部通过虚拟相机来设置。

3.GameWindowGuides:是否要在Game窗口显示线框。
Cinemachine插件学习笔记


4.Lens:相机的一些参数设置。

5.Save During Play:勾选的话.运行状态下做出的修改会保存。
6.虚拟相机本质是跟随Game窗口中那个黄色的圆点进行的移动
Cinemachine插件学习笔记
Cinemachine插件学习笔记

7.Damping(阻尼系数):值越大,跟随越慢

Cinemachine插件学习笔记


8.Screen(摄像机屏幕中心点):也就是小黄点在屏幕上的位置,默认是0.5,0.5. 摄像机聚焦的中心点

Cinemachine插件学习笔记


9.Dead Zone(死区/视角盲区):当玩家在该区域(图中无颜色的区域)时,相机是不会移动的。

Cinemachine插件学习笔记

Cinemachine插件学习笔记

10.Soft Zone:软区:让玩家处于绿色方框区域时,相机时跟随移动。

Cinemachine插件学习笔记

11.视角区域:

Cinemachine插件学习笔记

12.Lookahead:
移动时提前探探路,相机不是跟着人物,而是跟随小黄点,如果Lookahead是0的话,小黄点在移动的时候在屏幕位置是不变的,反之,则会发生改变。

Cinemachine插件学习笔记
Cinemachine插件学习笔记


Lookahead Ignore Y:忽略Y轴的视角变化。

13.设置视角的区域限制

(1)confiner:限制范围,*,紧闭区。
设置一个Collider来限制摄像机的移动。

Cinemachine插件学习笔记
Cinemachine插件学习笔记


14.多个虚拟摄像机的切换
当设置区域后通过触发器来实现,将下列脚本添加到区域限制的Collider上。


using UnityEngine;

//通过Priority优先度来控制虚拟相机的播放
//开启/禁用虚拟相机来达到Blend混合融合的效果
public class SpaceControl : MonoBehaviour
{

   public GameObject CinemachineVirtualCamera;
   
   
   private void OnTriggerEnter2D(Collider2D other)
   {
      CinemachineVirtualCamera.gameObject.SetActive(true);
   }

   private void OnTriggerExit2D(Collider2D other)
   {
      CinemachineVirtualCamera.gameObject.SetActive(false);
   }
}

2.Create Virtual Camera(创建常规/普通虚拟相机)

(1).Follow和LookAt的区别:

Follow:与目标的位置发生变化。主要改变的是Position
LookAt: 视角发生变化。主要改变的是Rotation

Cinemachine插件学习笔记


(2).视角噪声Noise:

模拟笨重物理相机效果。

Cinemachine插件学习笔记


Noise Profile:相机抖动噪声种类
Amplitude Gain:相机抖动的振幅。
Frequency Gain:相机抖动的频率。
可以自定义创建Noise,创建位置 Create-->Cinemachine-->NoiseSettings

(3).点击Solo按钮单独展示该视角

Cinemachine插件学习笔记


(4).使用timeline来进行视角切换

Cinemachine插件学习笔记

将对应的虚拟相机拖入即可
Cinemachine插件学习笔记

(4).相机之间的过渡

  1. Cut Scene 直接切换
  2. Blend Scene 混合过渡

    ![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20210528190953563.PNG?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3E0OTMyMDE2ODE=,size_16,color_FFFFFF,t_70

Cinemachine插件学习笔记

3.Create Dolly Camera With Track(推轨相机)

创建后会生成两个GameObject,一个虚拟摄像机,一个虚拟摄像机的路径。

Cinemachine插件学习笔记


两种方法控制相机轨道的移动:

(1).在Timeline中创建动画轨道对虚拟相机中的Path Position数值进行控制,达到轨道移动的效果

Cinemachine插件学习笔记

(2).设置虚拟相机中的Follow属性,并且将AutoDolly激活。相机会自动选择轨道里离跟随物体最近的位置。

Cinemachine插件学习笔记


当两者都设置时只有后者起作用。

4.Create ClearShot Camera(切镜相机)

设置多个摄像头,当物体遮挡时,会选择最佳的遮挡镜头,来渲染游戏物体。
Cinemachine插件学习笔记
Cinemachine插件学习笔记

相机之间的切换有两个因素影响:

1.相机与目标物体之间是否有遮挡。遮挡设置可由Cinemachine Collider设置

Cinemachine插件学习笔记


2.如果相机之间有重合的地方则由相机优先级决定。

Cinemachine插件学习笔记


5.Create FreeLook Camera(*观察相机)

一般用于第三人称跟随角色时使用,他可以做到继跟随角色又可以*的旋转视角。
Cinemachine插件学习笔记

6.Create State-Driven Camera(状态驱动摄像机)

根据不同的动画状态来驱动切换相机。

首先创建状态机驱动相机(CinemachineStateDrivenCamera),将控制角色的状态机赋值给Animated Target,在对应位置给对应状态选择对应的摄像机,其中包括摄像机之间切换需要花费的时间都可以设置。

Cinemachine插件学习笔记

7.Create Target Group Camera(摄像机跟随多个物体)

Target Group Camera可以实现相机跟随多个物体移动的效果,确保多个物体都在摄像机范围内

Cinemachine插件学习笔记

8.Create Blend List Camera(混合列表摄像机)

可以让多个摄像机按照一定的次序来回显示。
Cinemachine插件学习笔记


9.Create Mixing Camera(混合相机)

可以混合多个相机,最终相机的位置参数由各个相机的权重来确定.

Cinemachine插件学习笔记

10.Create Dolly Track With Cart(物体轨道编辑)

创建后生成两个GameObejct。
DollyCart是移动的组件,可以将需要移动的物体放入成为其子物体。

DollyTrack1是路径编辑器,编辑移动的物体的路径

Cinemachine插件学习笔记
Cinemachine插件学习笔记

上一篇:golang接口interfance


下一篇:模型变换,视角变换,透视变换等顶点坐标变换,以及相关的交互代码