Unity提供的Cinemachine工具可用于轻松管理相机,其中包含大量设置相机镜头的功能,能够在Unity游戏或应用中像拍电影那样管理游戏相机。Cinemachine方便易用,是在Unity中制作影视内容的完美工具。Auto Dolly就是Cinemachine其中一个功能,用于模拟真实相机的推拉,“自动”实现最佳镜头感。今天这篇文章就为大家分享如何利用Auto Dolly功能来实现自动推拉相机。

Cinemachine设置

请访问Unity Asset Store资源商店下载Cinemachine工具,该工具需要使用Unity 2017.1.0及以上版本。

110608sbii9rnjaii69jae.png

本例采用的示例场景是一个角色在假装打冰球,相机处于锁定状态已覆盖整个场景,现在这个场景看起来不够生动。下面就利用Cinemachine的Auto Dolly功能进行改善。


110759acazavbabal28jgc.jpg

点击该按钮后会在场景中加入一些内容并更改相机设置。

110814yueqne09bjy28uu2.jpg

Main Camera上的图标表示此相机已带有Cinemachine Brain脚本。在检视窗口中查看脚本:

110829xcmwj0404482llac.jpg


放置Dolly Track

在相机视图显示内容之前,需要重新放置Dolly Track。将相机移动到合适的视点,重新摆放Dolly Track。

小提示:使用Ctrl+Shift+F快捷键可以将选中对象移动到当前场景视图内相机的位置与朝向。


添加路径点


下面为Dolly添加路径点,本例中路径点位于屏幕最左侧,您可以根据实际需求添加,无需按照特定顺序摆放。点击检视窗口Cinemachine Path脚本上的 “Add a waypoint to the path”按钮添加路径点。

110912plz9v0aq4qvklid1.jpg

每个路径点都与Dolly Track的坐标有些许偏移。本例的第一个路径点将Z坐标设为0,让其与Dolly Track的起点对其。

110931l1ymmaz5ywiozi1t.jpg

朝向目标

首先来看看CM vcam1对象,它是场景中的虚拟相机。Cinemachine使用该对象来决定相机位置与行为。场景中可以拥有多个虚拟相机,并在各相机之间平滑地切换,这也是Cinemachine的一大亮点。

本例仅使用一个虚拟相机,它可以按照Dolly路径移动。首先将虚拟相机设为固定相机,本例中希望角色永远是焦点,所以将虚拟相机的Look At字段设为角色模型:

111000gurk22ogm542co7m.jpg

现在效果如下:

111048k99iss8shnh9fsix.jpg

跟踪目标

现在运行还看不到效果,因为相机还未设置跟踪行为。选中虚拟相机后将Follow字段同样设为角色。

111105d4ofy2ka4kffy84w.jpg

并启用虚拟相机上的Auto Dolly属性。

111120qf5ubjl2vu5zubgv.jpg

现在运行可以看到相机跟随Dolly路径移动,并随时跟踪玩家。效果如下:

111219chyxy9yv95698a9z.jpg

该组件可以指定多个目标对象,本例中有角色与冰球两个目标。还可以为角色添加权重,让其处于相机视野的机会更多。

111239f2nmnobzab1mr0gz.jpg

将带有TargetGroup组件的对象替换之前虚拟相机上的Look At与Follow字段,即可更换相机朝向与跟随的目标。

111256wpfgytbgsm94fy7b.jpg

最后效果如下:

111321q1x6z38gksyxg6cy.gif

结语

本文示例仅为大家分享了Cinemachine功能的冰山一角,但已足以展示Cinemachine强大的相机特效,无需编写代码即可轻松操控相机。如果大家正在使用Unity 2017,不妨试试Cinemachine。我们还会为大家分享更多Unity 2017相关的教程在Unity官方中文社区(unity3d.cn),请保持关注。

Cinemachine, Unity, Auto Dolly, 相机, 游戏锐亚教育

锐亚教育 锐亚科技 unity unity教程