UDK曲线编辑器教程

修改
鏉ユ簮: 上帝宝贝 浏览 6807 日期 2011-08-27 0
  • 曲线编辑器
    • 动画曲线
    • 控制插值曲线
      • Auto(自动型)
      • User(用户型)
      • Break(断开型)
      • Linear(线性型)
      • Constant(常量型)
    • 曲线编辑器界面
      • 曲线编辑器工具栏
        • Fit Visible Tracks Horizontally(可见轨迹水平方向适应)
        • Fit Visible Tracks Vertically(可见轨迹垂直方向适应)
        • Pan/Edit Mode(平移/编辑模式)
        • Zoom Mode(缩放模式)
        • Auto Curve(自动型曲线)
        • User Curve(用户型曲线)
        • Break Curve(断开型曲线)
        • Linear Curve(线性型曲线)
        • Constant Curve(常量型曲线)
      • Tabs(组标签)
        • Create Tab(创建组标签)
        • Tab Dropdown(组标签下拉菜单)
        • Delete Tab(删除组标签)
      • 曲线编辑器曲线关键帧列表
        • Visibility Flags(可视性标记)
      • 曲线编辑器的图表视图
        • 图表视图浏览
          • Pan(平移)
          • Zoom(缩放)
          • Select Key(选择关键帧)
          • Moving Keys(移动关键帧)
          • Adjusting User Tangents(调整用户型切线)
          • Right-click Context Menu(右键关联菜单)
          • Key Creation(关键帧创建)
        • Zoom Mode Navigation(缩放模式浏览)
          • Zoom Value (Vertically) 值缩放(垂直方向)
          • Zoom Time (Horizontally) 时间缩放(水平方向)
    • 预设曲线
      • Cos Wave(余弦波)
      • Frequency(频率)
      • Scale(缩放比例)
      • Offset(偏移)
      • Sine Wave(正弦波)
      • Linear Decay(线性衰减)
      • User-Set(用户设定)

曲线编辑器

在创建各类游戏资源时,您会发现在许多情况下需要将一些属性或参数实行动画化效果,或者使其随时间的迁移发生改变。在这种情况下,这种变化会内在地图化成一条曲线,图中的横坐标为时间,纵坐标为属性值。

图——曲线示意图。

在UnrealEd中,曲线在曲线编辑器中是可见和可操作的。界面中出现曲线编辑器的地方有两处,它们是Cascade粒子编辑器和Matinee系统。这两种情况下的曲线编辑器界面和功能其实是完全相同的,但是,在我们在深入讨论其界面之前,先让我们先花点时间回顾基于关键帧的动画的基本概念,以及如何控制曲线对此动画做出调整。

[next]

动画曲线

动画曲线不过是一条表示属性值随着时间变化的示意图。

此曲线的最终形态是由两方面决定的:关键帧以及将所有关键帧连接在一起的插值曲线。

关键帧——在UnrealEd中常被简称为Key——就是在给定时刻对于某个属性值进行的记录。若用图形来说明,您可以把它们看作connect-the-dots(连线游戏)中的一个个点,比如某个属性在时间为0的时候,值等于5;在时间为3的时候值为10。如果在图上画出这两点,就会得到下图:

图——关键帧绘成图表后的示意图。

现在您已了解属性在某一时刻有某一对应属性值,此时刻之后的某个时刻又会有其对应属性值,那么这两个时间点的中间发生了什么呢? 当然,您无需亲手为曲线中的每个点指定特定值(能这样做当然很好,因为任意两个关键帧之间存在着无限多的点)

电脑会自动完成这个创建插值曲线的任务。如果您回顾上述的“连线游戏”,可以将其看作是连接各点之间的线条。它的优点在于这些线条在通过各关键帧时无需绝对的笔直,它们可以相交成直角,或者在一定范围内成为各类其它形状。

设想当某条曲线在其出发时非常平缓,但当接近图表中下一个点就慢慢变得越来越陡时,这种曲线的形状又如何呢?

图——Fast-In(加速)曲线。

此类型曲线行为可定义为:以非常缓慢的平移启动并开始加速,速度越来越快,直至到达下一帧。该曲线与直线连接两关键帧点的曲线相比是大不相同的。后一种曲线的行为应定义为:处于恒定变化速率,既不加速也不减速。

图——Linear(线性)曲线。

改变此种曲线的形状可以通过使用最少数量的关键帧来完成,为您的属性新建各种范围和性质。然而,上述连线方法也存在着一些限制条件。最重要的一点是动画曲线的求值方法只能是唯一的一种情况——即垂直线条在任意一点穿过该曲线时,只能与曲线相交一次。

图——请注意垂直线的刻度:Time(时间)=5。

如果将此曲线向后折叠,就会造成垂直线条与曲线两次相交,即同一时间分别得到同一属性的两个值。

图——该曲线在同一时间同时创建了两个独立的属性值。

这种情况是不允许发生的,所以不存在此种形状的动画曲线。

控制插值曲线

现在您已大致了解了动画曲线的工作原理,接下来要了解的是为追求所需效果而控制其形状的方法。有两种方法:一是调节贝塞尔切线手柄(Bezier tangent handles),用于控制一条插值曲线进入和离开一个关键帧时的角度,另一种方法是改变关键帧使用的切线类型。

[next]

我们从切线手柄开始初次了解一下切线的概念。在高中代数课上,您也许学过(或者将来会去学习)切线定义了某曲线在某一点上的角度。这个概念也正是此处的概念。此例中的这一个点则变成了关键帧。操纵这些切线可以控制处于某关键帧位置的曲线角度。

在UnrealEd的曲线编辑器中,切线手柄的外观是两端各有一个小正方形手柄的白色线条。拖动这个手柄就可以改变切线与关键帧相交的角度,以此改变曲线形状。同时您也会注意到,每一个关键帧实际上包含两个手柄,每边各一个。左手柄控制曲线进入关键帧的方向。右手柄控制曲线离开关键帧时的方向。

图——这就是tangent handle(切线手柄)。

第二种控制曲线的方法是改变关键帧类型,在Unreal中有五种关键帧可供使用,它们是:

Auto(自动型)

自动型切线是默认的切线类型,由计算机定义,用户不可编辑。此类型的关键帧大体上会创建出一种非常平缓的效果,使曲线缓缓地从一个点掠过另一个点。

图——该曲线显示了Auto(自动型)切线。

User(用户型)

用户型切线允许设计师自行调整,意即当曲线进入或离开关键帧时可以拖动手柄以改变曲线的方向。然而在您移动手柄时会注意到进入关键帧与离开关键帧的手柄始终在一行中对齐,就像一条直线。

图——图中的User(用户型)切线已经修改过了。

Break(断开型)

断开型切线,正如用户型切线,同样可以由设计师作出调整。但不同点是,进入与离开关键帧的切线不会自动对齐。也就是说您可以使切线手柄指向不同的方向。操作结果是使属性值随时间的迁移产生剧烈变化。

图 CE.10——此曲线显示了Break(断开型)切线。

Linear(线性型)

线性型切线是目前为止最简单的,因其使插值曲线在两点之间成为一直线。此切线不可编辑。

图——Linear(线性型)切线仅使动画曲线创建出直线。

Constant(常量型)

常量型切线的特殊之处在于创建了一种台阶式曲线,它将关键帧属性值保留至图表中下一关键帧出现为止。在制作诸如闪动的灯光,或 其它任何时刻两值之间的直接过渡时,这种切线十分有效。

图——Constant(常量型)切线可以将其值保留直到下一关键帧。

曲线编辑器界面

如上所述,曲线编辑器出现于UnrealEd中的关键两处(Matinee和Cascade)。其外观和功能在这两处都是相同的。以下是该编辑器界面的基本概述以及浏览的方法。曲线编辑器界面可划分为三个关键部分:一个工具栏,一个曲线关键帧列表(主曲线表左侧),以及主曲线图表。

[next]

图——曲线编辑器。

曲线编辑器工具栏

就如Unreal中的大多数编辑器一样,曲线编辑器工具栏中包含着您在工作时最常用到的功能按钮。从左到右,这些按钮分别是:

Fit Visible Tracks Horizontally(可见轨迹水平方向适应)

点击此按钮,会沿水平轴(即时间轴)缩放图表视图,使所有曲线在水平范围内可见。

Fit Visible Tracks Vertically(可见轨迹垂直方向适应)

点击此按钮,会沿垂直轴(即属性值)缩放图表视图,使所有曲线在垂直范围内可见。

Pan/Edit Mode(平移/编辑模式)

此按钮切换至平移/编辑模式,允许在浏览模式下编辑关键帧和切线。图表视图浏览稍后讨论。

Zoom Mode(缩放模式)

点击此按钮切换至缩放模式,允许缩小或放大图表视图。

Auto Curve(自动型曲线)

此按钮将任意选中关键帧转换为上文中的自动型切线。

User Curve(用户型曲线)

此按钮将任意选中关键帧转换为上文中的用户型切线。

Break Curve(断开型曲线)

此按钮将任意选中关键帧转换为上文中的断开型切线。

Linear Curve(线性型曲线)

此按钮将任意选中关键帧转换为上文中的线性型切线。

Constant Curve(常量型曲线)

此按钮将任意选中关键帧转换为上文中的常量型切线。

Tabs(组标签)

这也是工具栏的一部分,允许创建出自定义曲线组,以便迅速跳转到特定曲线或者一组曲线。

Create Tab(创建组标签)

点击此按钮会新建一个组标签,然后显示一个对话框键入新建组标签的名称。

Tab Dropdown(组标签下拉菜单)

此下拉菜单会显示出已创建的所有组标签,允许您快速选定曲线用以进行编辑。

Delete Tab(删除组标签)

此按钮会从组标签的下拉菜单中删除当前使用的组标签。但无法删除default(系统默认)组标签。切记此按钮会同时删除对应组标签中的动画曲线。

曲线编辑器曲线关键帧列表

此曲线关键帧列表是一种可滚动式列表,其中列出了曲线编辑器中的所有动画属性,允许对曲线属性的可视性进行操作。此列表通过将曲线发送至编辑器而生成。在Matinee中通过点击每个动画轨迹右下方的小黑方块的方法来实现。在Cascade中的每个动画模块中也可以看到类似的黑色方块。

[next]

图——Matinee中的轨迹和Cascade的模块中的小方块可以将曲线发送至曲线编辑器进行编辑。

Visibility Flags(可视性标记)

曲线关键帧列表中每一条目都包含了动画属性的名称,以及一系列可控制可视性的小方块。随着被编辑属性类型的变化,这些按钮的性质随之改变,但是它们的功能都一样:显示或者隐藏单个曲线

每个条目的右下方有一个黑色小方块,点击时变成黄色。此方块控制了属性曲线的可视性。此方块处于激活状态时,该属性的曲线为可见状态,当方块为黑色时(或非激活状态时),此曲线为不可见。

左下角有三个按钮,分别为红色、绿色和蓝色,控制了属性的单个曲线的可视性。特别是对有X,Y,Z属性的矢量属性而言尤为重要。它允许控制单个轴的可视性,比如仅显示X曲线。只有单个值的属性仅显示出红色方块,而拥有XYZ值的属性会显示出全部三种颜色的方块。

图——请注意条目底部的可视性标志。

曲线编辑器的图表视图

图表视图就是真正看见动画曲线并与之进行互动的区域。它由属性值和时间构成一张图表,纵轴代表属性值;横轴代表时间。可以对缩放单个轴,以看清各类曲线。

在这个窗口中还可以创建关键帧,并在图表中重新放置这些关键帧。垂直方向移动关键帧将改变关键帧的值。水平方向移动关键帧将改变关键帧发生的时间。

图表视图浏览

浏览图表视图的方式由图表视图的模式决定。默认的模式即平移/编辑模式,允许您在图表内移动并调节关键帧。此视图同样具有缩放模式,允许您分别或者同时地,缩放横轴或纵轴。

Pan/Edit Mode Navigation(平移/编辑模式浏览)

Pan(平移)

拖曳鼠标左键,平移视图查看您的曲线

Zoom(缩放)

通过鼠标滚轮放大或者缩小图表视图。请注意,在水平方向和垂直方向的缩放是一致的。

Select Key(选择关键帧)

左击此图标可选中关键帧。如此就可以使其时间和属性值都为可见,同时还显示出此关键帧的切线手柄。

按下Ctrl键的同时点击多个关键帧可以同时选中多个关键帧。

按下Ctrl和Alt的同时拖动鼠标,可进行框选。

Moving Keys(移动关键帧)

先选中一个关键帧,然后按下Ctrl键的同时拖动该关键帧就可以进行移动。左右移动可以改变关键帧的时间,上下移动可以改变其值。

Adjusting User Tangents(调整用户型切线)

要调整用户型或者断开型切线的角度,请先选中一个关键帧,然后拖动白色小手柄。

[next]

需要提醒那些习惯于在某些2D和3D 动画文件包中使用动画曲线的各位读者们注意的是,这里我们是不能对多个切线同时进行调整的,也不能改变给定切线的权重(weighting)。

Right-click Context Menu(右键关联菜单)

在平移/编辑模式中,用户可以随时右击一个关键帧以改变其时间或值。

Key Creation(关键帧创建)

可以在曲线上创建出自己的关键帧:按下Ctrl同时,左击曲线上的任一位置,然后可以用关联菜单改变此关键帧的时间和值。

Zoom Mode Navigation(缩放模式浏览)

Zoom Value (Vertically) 值缩放(垂直方向)

可以在不影响水平轴的情况下,拖动鼠标右键进行垂直缩放。

Zoom Time (Horizontally) 时间缩放(水平方向)

可以在不影响垂直轴的情况下,拖动鼠标左键进行水平缩放。

注意:同时按下鼠标的左右键进行拖动,可以对垂直方向和水平方向同时进行非统一比例的缩放。

预设曲线

当您用编辑工具创建各类曲线后,最终可能会意识到自己在不停地使用某种形状的曲线。您无需每次都重新创建新的曲线,而是可以保存一种常用的曲线形状,将其保存为预设曲线以供重复使用。另外,您还可以选择各种预定义曲线,比如正弦波或者余弦波。

曲线的预设可以通过右击曲线关键帧列表中的任一曲线来完成。之后会出现一个关联菜单,允许您从编辑器中移除整条曲线,放置一个预设曲线,或是保存一个现有曲线作为日后使用的预设曲线。

图——预设曲线对话框。

选择预设曲线选项就会打开预设曲线对话框。此对话框允许您选择需放置的曲线类型,以及相对应的可用属性位置。例如:将某个物体的位置制成动画效果,比如Matinee中的移动轨迹,则可以在X轴上应用一个正弦波曲线,但仍然可以手动控制其它两个轴。

要使用这个预设对话框其实很简单,就像选中需应用的轴一样,点击对应轴的下拉菜单,然后再选择需使用的曲线。

预设曲线的下拉菜单中有下列可用选项:

Do Not Preset(无需预设)——此选项使曲线保留当前状态,不添加预设。

Cos Wave(余弦波)

随时间产生一条余弦波。当选中此类型的曲线时,会出现一些参数控制此曲线的外形。参数如下:

Frequency(频率)

此参数随着时间推移来控制波频。在本书写作时,其值被锁定在0到1之间。

[next]

Scale(缩放比例)

此参数作为曲线的缩放因数,使其与键入值相乘。您或许已经了解正弦波的振幅范围在数值1和-1之间,如果将此值设置为10,则曲线会在10和-10之间进行振动。

Offset(偏移)

当曲线缩放完毕后,此参数会帮助您进行曲线的偏移。比如:若需要一条在0到1之间振动的曲线,可以将其缩放值设置为0.5,使曲线在0.5和-0.5之间振动,然后再将偏移值设置成0.5,这样就会让整条曲线向上移动,从而达到使曲线在0和1之间振动的效果。

图——余弦波示例图。

Sine Wave(正弦波)

随时间产生一条正弦波。若选中此类型曲线,会出现与上述余弦波相同的选项。

Linear Decay(线性衰减)

此选项创建出一条随时间推移呈现线性衰减的曲线。若选中此类型曲线,将会出现下列选项:

  • StartDecay (启动衰减)——启动衰减的时间。
  • StartValue(启动值)——曲线开始的时间。
  • EndDecay(结束衰减)——结束衰减的时间。
  • EndValue(结束值)——曲线结束的时间。

注意:创建出一条线性衰减的预设曲线,并不意味着会永远出现线性衰减的行为方式。这是由于新建的关键帧仍旧使用自动型切线的缘故。如需解决此问题,请选中曲线中的每一关键帧,然后将它们的切线类型全部全部设置为Linear(线性型)。

图——在创建时,线性衰减曲线并非是完全的直线。右方是同样的一条曲线,其切线设置为Linear(线性型)。

User-Set(用户设定)

这个选项允许用户加载一条预设曲线。当选中此类型曲线时,会出现UserCurve(用户曲线)属性,允许您加载所需曲线。请注意这些曲线会在Generic browser中以对象的形式出现,您可以使用该浏览器中标准的Use Current Selection(使用当前选定项)按钮来加载它们。

,

评论

{{ username ? username.charAt(0).toUpperCase() : '?' }}
Ctrl+Enter 发布
{{ (c.username || c.author_name || '?').charAt(0).toUpperCase() }}
{{ c.username || c.author_name }} {{ Utils.formatDate(c.created_at) }}