跳到正文
文档
本页内容

关键帧与缓动

关键帧存储什么、哪些内容可以做动画、数值如何在两个关键帧之间变化,以及游戏中的29种缓动

关键帧是某条轨道在某一帧上的数值,再加上到达这个数值时使用的缓动。关卡中所有会移动、变色或开关的东西,都是一串关键帧

基础概念:编辑器的工作方式。关键帧检视器的每个字段:物体属性

哪些内容可以设置关键帧

每条轨道都有自己的关键帧,与其他轨道互不影响:

所属轨道
任意物体位置、旋转、缩放、尺寸、锚点、轴心
形状颜色、UV
文本颜色、字号、文本已写出的部分、文本被隐藏的部分
相机位置、旋转、缩放、轴心、震动
关卡背景、主题、屏幕限制、12种后期效果中的每一种
玩家尺寸、速度、可见性、控制、碰撞

物体的关键帧从它的时段起点开始计算。所以在时间上移动物体,它的整段动画会跟着一起移动

位置是相对于父级的局部坐标。关键帧存储的是数值本身,而不是相对于上一个关键帧的偏移

玩家的可见性、控制和碰撞只有开和关两种状态。这些关键帧没有缓动:没有什么可以混合

几条建议

  • 只给会动的东西设置关键帧。没有关键帧的轨道使用默认值
  • 需要正好落在节拍上的变化,使用Constant,例如在高潮处切换主题
  • 旋转不会折回:0度的关键帧和720度的关键帧会让物体转两圈

两个关键帧之间

在第一个关键帧之前和最后一个关键帧之后,数值保持不变。在两个关键帧之间,游戏取已经过去的时间比例,让它经过缓动处理,再混合两个数值

这个比例按时间计算,而不是按绘制的帧计算。所以在30fps和144fps下曲线完全相同

缓动属于一对关键帧中较晚的那个。关键帧的缓动决定从上一个关键帧到达它的这一段。所以轨道上第一个关键帧的缓动永远不会显现出来。新关键帧使用Linear

缓动字段会打开选择缓动窗口,每种缓动都画成各自的曲线。你可以选中多个关键帧,甚至是不同轨道上的关键帧,在一个撤销步骤内一起修改

29种缓动

Linear是一条直线。Constant保持上一个数值,到关键帧时直接跳变

其余27种分为九个系列,每个系列三种:In、Out和InOut。例如InSine、OutSine、InOutSine

系列曲线形态
Sine最柔和的曲线
Quad、Cubic、Quart、Quint2、3、4、5次幂
Expo指数
Circ四分之一圆
Back越过范围后返回
Elastic在目标值附近振荡

In开始慢、结束快。Out开始快、然后放缓。InOut两端都慢。从Sine到Expo,每个系列都比前一个更陡

注意

Back和Elastic会超出范围:Out会冲过目标,In会先反向越过起点。碰撞体随物体一起移动。所以一颗本应停在安全区边缘的子弹,会有几帧进入安全区

随机数值

关键帧中的数值不一定是固定数字:

  • 数字:数值、随机区间、随机区间,步长
  • 向量(位置、缩放等):数值、矩形内随机、矩形内随机,步长、圆内随机、A到B随机、A到B随机,步长
  • 颜色:数值、主题、随机区间、A到B随机

矩形内随机对每个轴分别取值。A到B随机对所有轴取同一个数,所以点会落在A和B之间的连线上。之后,这个关键帧和其他关键帧一样进行混合

同一个种子得到同一个关卡。随机数由种子、关键帧所在的帧、图层、物体的起始帧、轨道和通道计算得出。更多:确定性

接下来:节奏与结构、主题