编辑动画曲线

Unity 编辑器提供了几种不同的功能和窗口,用 曲线 来显示和编辑数据。这些用来查看和编辑的方法大体上相同,但是也有一些区别。

  • 动画视图 使用曲线来显示和编辑 动画剪辑 中动画属性随时间变化的值。

The Animation View.

动画视图

  • 脚步组件可以含有 动画曲线 类型的成员变量,可以用于各种对象。在检视视图中点击这些变量将弹出 曲线编辑器

The Curve Editor.

曲线编辑器。

  • 声源 组件使用曲线来控制声源的衰减量(随着距离变化)和其他属性。

Distance function curves in the AudioSource component in the Inspector.

在检视视图中,声源组件的距离函数曲线。

虽然这些控制方法有些微小差异,但是,所有曲线的编辑方式完全相同。本页将介绍如何在这些控制方法中导航和编辑曲线。

在曲线上添加和移动关键点

在想要放置关键点的位置双击曲线,可以在该点添加一个关键点。也可以右键点击曲线,并从上下文菜单中选择 添加关键点,来添加一个 关键点

添加的 关键点 可以用鼠标拖动:

  • 点击 关键点 来选中它。用鼠标拖动选中的 关键点
  • 拖动时,在 Mac 上按下 Command 键或在 Windows 上按下 Control 键,可以让 关键点 对齐到网格。

也可以一次选中多个 关键点

  • 想要选择多个 关键点,请在点击关键点时按住 Shift 键。
  • 想要取消选择的 关键点,请在点击关键点时按住 Shift 键。
  • 想要选择矩形区域内的所有 关键点,请点击空白处并拖动鼠标形成一个矩形选择区域。
  • 也可以在矩形选择时按住 Shift 键,把矩形区域内的关键点添加到已选中的关键点中。

选中并按下 Delete 键,,或者右键点击并从上下文菜单中选择 Delete Key,可以删除 关键点

编辑关键点

在曲线编辑器中直接编辑关键点的值,是 Unity 5.1 新增的一个功能。使用 Enter/Return 键或上下文菜单来开始编辑选中的关键点,使用 Tab 键在输入域之间切换,使用 Enter/Return 键来提交修改,使用 Escape 来取消修改。

浏览曲线视图

使用 动画视图 时,可以很容易地放大要处理的曲线细节,或缩小曲线以获得完整的图像。

你可以随时按下 F 键,完整地查看曲线,或者放大显示选中的关键点。

译注:没有选中关键点时,曲线被自动缩放至合适的尺寸,以完整显示整个曲线;选中关键点时,将放大曲线,视图中只显示选中的关键点。

缩放

使用鼠标滚轮或触控板的缩放功能,或者鼠标右键拖动时按住 Alt 键,可以缩放曲线视图。

你可以只在水平或垂直方向上缩放曲线视图。

  • 在 Mac 中按住 Command 键,或者在 Windows 中按住 Control 键,只进行水平缩放。
  • 按住 Shift 键,只进行垂直缩放。

此外,你可以在曲线视图中拖动滚动条的两端来缩小或放大可见区域。

移动

按住鼠标滚轮并拖动,或鼠标左键拖动时按住 Alt 键,可以移动曲线视图。

编辑切线

一个关键点拥有两条 切线 —— 左侧的逼近斜率和右侧的远离斜率。切线控制了关键点之间的曲线形状。你可以从多个不同的切线类型中选择,来控制曲线如何离开一个关键点和到达下一个关键点。右键单击某个关键点来选择该关键点的切线类型。

编辑动画曲线 - 图4

要使动画值在经过关键点时平滑变化,左侧切线和右侧切线必须是共线的(在同一条直线上)。下面的切线类型可以保证平滑度:

  • 自动钳位(Clamped Auto): 默认切线类型。自动设置切线,使曲线平滑地经过该关键点。当编辑该关键点的位置或时间时,自动调整切线,以避免曲线被过度调整。在自动钳位模式下,如果你手动调整了该关键点的切线,切线类型会被切换为 自由平滑(Free Smooth) 模式。在下面的例子中,当移动关键点时,切线的逼近斜率和远离斜率被自动调整:

编辑动画曲线 - 图5

  • 自动(Auto): 这是一个遗留切线模式,保留该模式是为了向后兼容旧项目。除非你有特殊原因必须使用该模式,否则请使用默认的 钳位自动(Clamped Auto)。当关键点被设置为该模式时,切线被自动设置,使曲线平滑地经过该关键点。但是,相比 钳位自动(Clamped Auto) 模式,有两点差异:

    1. 当编辑该关键点的位置或时间时,切线不会自动调整;切线仅仅在该关键点被第一次设置为 自动(Auto) 模式(初始化)时才会进行调整。
    2. Unity 在计算切线时,不会考虑避免过度调整(即可能会导致过度调整)。

编辑动画曲线 - 图6

  • 自由平滑(Free Smooth):拖动切线图柄来自由地设置切线。切线被锁定为共线,以确保平滑度。

编辑动画曲线 - 图7

  • 水平(Flat):切线被设置为水平(自由平滑的一种特殊情况)。

编辑动画曲线 - 图8

有时你可能不希望曲线平滑地通过某个关键点。想要在曲线中创建剧烈的变化,请选择 折线 切线模式。

编辑动画曲线 - 图9

使用折线切线时,可以单独设置左右切线。左右切线可以设置为以下类型之一:

  • 折线 - 自由(Broken - Free): 拖动切线图柄来自由地设置切线。

编辑动画曲线 - 图10

  • 折线 - 直线(Broken - Linear): 切线指向相邻的关键点。要创建直线型的曲线片段,请将切换的两边都设置为 直线 Linear。在下面的例子总,3 个关键点都被设置为 折线 - 直线,Broken - Linear,以实现关键点到关键点的直线。

编辑动画曲线 - 图11

  • 折线 - 常量(Broken - Constant): 曲线在两个关键点之间保持为一个常量值。左侧关键点的值决定了曲线片段的值。

编辑动画曲线 - 图12