Version: 2017.3
使用动画曲线
关键帧清单 (Dopesheet) 模式中的关键点操作

编辑曲线

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

  • The Animation View uses curves to display and edit the values of animated properties over time in an Animation Clip.
The Animation View.
The Animation View.
  • Script components can have member variables of type AnimationCurve that can be used for all kinds of things. Clicking on those in the Inspector will open up the 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__:曲线在两个关键点之间保持常量值。左关键点的值决定了曲线段的值。
使用动画曲线
关键帧清单 (Dopesheet) 模式中的关键点操作