了解Cinemachine 3的新功能

Cinemachine无需介绍。Cinemachine 是 Unity 中下载量最多的工具之一,是一套用于创建复杂实时摄像机镜头的工具,其中使用了无编码摄像机,可用于游戏影片制作和其他线性制作工作。
我们一直在迭代改进其功能,并且还会收到用户提出的更新请求的有用反馈。所有这些都导致了我们的最新版本:Cinemachine 3. Cinemachine 3 兼容最低版本 2022.3。从 6000.0 开始正式发布。
Cinemachine 最初被收购,加入 Unity 已有五年时间。一开始,它没有很好地融入现有的 Unity 框架和流程。随着 Unity 的发展,以及对正在进行的 UI 开发等工作的密切关注,Cinemachine 并不总是能引起人们的重视。
在此版本中,我们退后一步,重新设计了 Cinemachine 中的某些操作方式。Cinemachine 3 升级与其说是功能更新,不如说是格式更改,使其与 Unity 其他部分保持一致。
并不是每个使用 Cinemachine 的人都需要升级。但是,如果您在 Unity Editor 6000.0 中启动项目,默认使用的是 Cinemachine 3。
请注意:在升级到Cinemachine 3之前,请检查是否有大量使用Cinemachine API的自定义脚本。如果是这样,最好还是继续使用以前的版本。虽然我们提供了转换率工具,但目前没有自动迁移代码的方法。Unity API 更新程序无法处理所有 API 更改,因此需要手动升级。
如果您是“开箱即用”地使用Cinemachine,而不要使用任何自定义脚本,则升级过程相对容易。
为了让 Cinemachine 3 更清晰、更易于使用,我们对其中一些名称进行了更改和标准化。例如,由于 Unity 有另一个产品名为 Virtual Camera,Cinemachine 中的虚拟摄像机现在称为 CinemachineCamera。有关这些名称更改的更多详细信息,请查看此信息视频。

- 不再隐藏游戏对象
- 更好地使用预制件和预设
- 改进了与 Unity 标准的集成
- API 现在更符合Unity
- 更简洁的UX
- 简化的工作流程
- 与 Unity 样条图集成
- 更多定制机会
- 对示例场景进行全面检修
Cinemachine 以前是使用隐藏的游戏对象实现的,这些游戏对象的行为负责控制摄像机的位置等。这就需要使用复杂的 API 来获取这些对象、制作动画并从脚本中访问它们。这已经过清理,变得更加标准化。
由于删除了隐藏的游戏对象,Cinemachine 与预制件和预设更加兼容。
Cinemachine 最初是使用自己的成员变量名称标准编写的。我们收到了很多反馈(但我们也不喜欢)。因此,我们删除了所有这些 m_ 实例。
现在,程序化组件是以通常方式添加到游戏对象的标准 MonoBehaviour,因此您不需要任何特殊的 API 调用就可以访问它们。
巨大的检查员走了。现在,UX 分布在新的 Cinemachine 程序组件中。许多设置是选入的,因此如果您不需要它们,它们不会干扰检视器。

默认情况下,跟踪目标只有一个,而不是两个,因此要设置的内容更少。FreeLook 也经过了彻底修改;它的功能更多,需要的设置更少。现在,它还通过新的轨道跟随行为支持开箱即用的半径缩放。
需要用户输入的摄像机设置现在由支持新旧输入系统的单独组件驱动。新的 Cinemachine 通道设置简化了分屏的实现,让您不必使用 Unity 层。

Cinemachine 样条图实现已弃用,取而代之的是与新的 Unity 原生样条图的集成。
- ClearShot 现在可以获得自定义镜头质量评估器
- 现在,Spline Dolly 和 Spline Cart 可以接收自定义 AutoDolly 实现
- FreeLook 可以接收用于垂直摄像机移动的自定义修饰符
- 现在,编写自定义输入轴控制器变得更加容易
Cinemachine 3 中的所有示例场景都是从头开始重做。
要深入了解Cinemachine 3,请转到Unity YouTube频道,向我们的内部专家Gregory Labute了解更多信息。