前言
在很多游戏的开场动画或者CG里,我们往往会碰见一些很酷炫的镜头效果。例如一个场景,我们的画面会从远处可以观察到整个场景到被拉近视角观察到场景中的主角。又或者一些CG动画中,我们的视角会像一直飞翔的老鹰一样,掠过整个场景。
想要实现这样的效果,我们不能仅仅让我们的摄像机简单的看向和跟随一个目标,而是期望我们的相机能够按照一定的路径运动。
想要我们的摄像机按一定的路径进行,那么首先我们就要绘制出这个轨道,否则相机无法知道自己应该往哪走。Cinemachine为我们提供了Dolly Paths来实现路径的绘制。
Dolly Paths
使用Dolly Path就可以指定出一个特定的路径来供我们的VirtualCamera,例如下图:
图中的绿色的路径就是我们的相机的移动路径,它由图中的三个白点(0,1,2三个小圆球)连线而成。这些小白点,我们称之为waypoint。我们可以通过添加删除以及修改waypoint,来绘制我们想要的路径。
Cinemachine为我们提供了CinemachinePath和CinemachineSmoothPath两种组件用于绘制路径。
CinemachineSmoothPath
在上面图中的路径,我们是用CinemachineSmoothPath来实现的,其内容如下图:
其中路径中的0,1,2三个点即对应着组件中Waypoints数组的成员。每个waypoint包含XYZ的坐标信息,以及Roll的旋转信息。waypoint之间的连线方式使用了贝赛尔曲线的插值法(Bezier interpolation),因此我们不需要进行太多的设置,Cinemachine就会帮我们绘制好光滑且连续的路径。推荐使用。
接下来,我们来看看组件中各个属性的具体含义:
Resolution
定义了waypoint之间路径的精确度,即被分为多少段,会影响到路径长度的计算。
例如下面三张图的效果,Resolution的值分别为:1,2,10: