Version: 2018.4
Using Animation Curves
Key manipulation in Dopesheet mode

编辑曲线

Unity Editor 中有几个不同的功能和窗口使用__曲线__来显示和编辑数据。尽管存在一些例外情况,但可用于查看和操纵曲线的方法在所有这些方面基本相同。

  • Animation 窗口使用曲线来显示和编辑__动画剪辑__中随时间变化的属性的值。
Animation 窗口。
Animation 窗口。
  • 脚本组件可具有能够用于各种事物的动画曲线类型的成员变量。单击 Inspector 中的曲线将打开__曲线编辑器 (Curve Editor)__。
曲线编辑器。
曲线编辑器。
  • Audio Source 组件使用曲线来控制衰减和其他属性(作为与音频源的距离的函数)。
Inspector 中 AudioSource 组件的距离函数曲线。
Inspector 中 AudioSource 组件的距离函数曲线。
粒子系统曲线编辑器。
粒子系统曲线编辑器。

虽然这些控件有细微差别,但都可以使用完全相同的方式对__曲线__进行编辑。本页将介绍如何在这些控件中导航和编辑曲线。

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

在曲线上双击应当放置__关键点__的位置,即可将关键点添加到曲线中。此外,也可以通过右键单击曲线并从上下文菜单中选择 Add Key 来添加__关键点__。

添加__关键点__后,可使用鼠标将其四处拖动:

  • 通过单击选定__关键点。用鼠标拖动所选的__关键点
  • 要在拖动时将__关键点__贴靠到网格,请在拖动时按住 Command 键(Mac 系统)/Control 键(Windows 系统)。

另外,还可一次选择多个__关键点__:

  • 要一次选择多个__关键点__,请在按住 Shift 的同时单击关键点。
  • 要取消选择所选的__关键点__,请在按住 Shift 的同时再次单击该关键点。
  • 要选择矩形区域内的所有__关键点__,单击一个空白位置,然后拖出矩形选框。
  • 通过按住 __Shift__,也可以将矩形选框内的关键点添加到现有选定关键点。

通过选定__关键点__并按 Delete 或者通过右键单击关键点并从上下文菜单中选择 __Delete Key__,即可删除关键点。

编辑关键点

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

在曲线视图中导航

使用 __Animation 视图__时,可轻松放大要处理的曲线的细节,或进行缩小以查看全貌。

随时都可以按 F 来完全框选显示的曲线或选定的关键点。

缩放

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

只能在水平轴或垂直轴上进行缩放:

  • 在 Mac 上按住 Command 键/在 Windows 上按住 Control 键进行的__缩放__是水平缩放。
  • 按住 Shift 键进行__缩放__是垂直缩放。

此外,可以拖动滚动条的端点来缩小或扩展曲线视图中显示的区域。

平移

可以使用鼠标中键拖动或在用鼠标左键拖动时按住 Alt 键来__平移__曲线视图。

编辑切线

一个关键点有两条__切线__:一条在左侧用于向内的斜坡,另一条在右侧用于向外的斜坡。切线可控制关键点之间的曲线形状。可从许多不同的切线类型中进行选择一种类型,用于控制曲线离开一个关键点并到达下一个关键点的方式。右键单击一个关键点可以选择该关键点的切线类型。

要使动画值在通过关键点时实现平滑变化,左右切线必须共线。以下切线类型可确保平滑:

  • Clamped Auto__:这是默认切线模式。系统会自动设置切线,使曲线通过关键点时保持平滑。编辑关键点的位置或时间时,切线会进行调整以防止曲线“超出”目标值。如果在 Clamped Auto 模式下手动调整关键点的切线,则会切换到 Free Smooth__ 模式。在下面的示例中,切线自动进入斜坡并在移动关键点时趋于平稳:
  • Auto__:这是旧版切线模式,但此选项仍然保留着以便与旧项目向后兼容。除非有特别原因要使用此模式,否则请使用默认的 Clamped Auto。当关键点设置为此模式时,系统会自动设置切线,使曲线通过关键点时保持平滑。但是,与 Clamped Auto__ 模式相比有两个不同之处:
    1. 当编辑关键点的位置或时间时,切线不会自动调整;切线仅在最初将关键点设置为此模式时进行调整。
    2. Unity 在计算切线时,不会考虑避免“超出”关键点的目标值。
  • __Free Smooth__:拖动切线控制柄来自由设置切线。它们被锁定为共线以确保平滑。
  • Flat__:切线设置为水平(这是 Free Smooth__ 的特例)。

有时可能不希望曲线在通过关键点时是平滑的。要在曲线中产生急剧变化,请选择 Broken 切线模式之一。

使用中断的切线时,可以单独设置左右切线。左右切线中的每一条切线都可以设置为以下类型之一:

  • __Broken - Free__:拖动切线控制柄来自由设置切线。
  • Broken - Linear__:切线指向临近的关键点。要创建线性曲线段,请将两端的切线设置为 Linear。在下面的示例中,所有三个关键点都已设置为 Broken - Linear__,从而形成从关键点到关键点的直线。
  • __Broken - Constant__:曲线在两个关键点之间保持常量值。左关键点的值决定了曲线段的值。
Using Animation Curves
Key manipulation in Dopesheet mode