UDN
Search public documentation:

UIAnimationCH
日本語訳
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 主页 > 用户界面 & HUD > UI 动画系统

UI 动画系统


不再支持 UI 系统及其功能。请参阅 Scaleform GFx 文档了解有关当前支持的用户界面系统的信息。

概述


对于在页面中操作及移动控件来说,动画系统是强大且灵活的工具。本文档确定了动画系统的主要概念及架构,并解释了动画系统的组件是如何结合到一起来提供一个组用于移动控件的函数的。

专业术语


组件


使用动画


一般来说,UI 动画是通过在 GameUISceneClient 类的 defaultproperties(默认属性)中声明的子对象来定义的(从现在起,我们称它为动画模板)。 这个池通常包含了多个控件或一个单独控件的多个实例所使用的动画(比如页面打开或关闭动画)。 动画模板包含了一个或多个轨迹,每个轨迹代表一个不同的被插值的值(也就是、不透明度、位置、旋转度等)。 每个轨迹包含了一个或多个关键帧,它们定义了目标值,以及到达那个目标值所用的时间等。

要想激活一个动画,您可以调用 UIScreenObject.PlayUIAnimation() 方法,传入一个和您所激活的动画模板的 'SeqName' 值相匹配的名称。 要想暂停一个动画,您可以调用 StopUIAnimation 函数,再次传入您想使其变为非激活状态的动画模板的名称。 这些函数中的每一个都可以有一个可选的动画模板引用;这个参数的目的允许您定义仅由一个单独的控件类型使用的动画模板。 如果有一个动画只由一种类型的控件使用,那么在 GameUISceneClient 定义它并把它添加到动画序列池中是必要的 – 您可以在控件类的 defaultproperties(默认属性)中定义它,然后向那个模版中传入一个引用来 PlayUIAnimation(播放 UI 动画)/StopUIAnimation(暂停 UI 动画),而不是传入动画模板的名称。

换句话说:

  • 对于整个 UI 可以访问的全局动画,可以在您的游戏的 GameUISceneClient 子类的 defaultproperties(默认属性)块中定义它,并把它添加到 AnimSequencePool 数组中。 要想激活这些动画,请传入模版的 SeqName来PlayUIAnimation(播放 UI 动画)。
  • 对于仅用于一种控件类型或者类似于那样的东西的自定义动画,可以在控件类的 defaultproperties(默认属性)块中定义它,然后然后传入一个到那个模板的引用来调用 PlayUIAnimation(播放 UI 动画)函数。

UT3 UI 代码使用的动画是非常广泛的,通过在脚本源代码中搜索 PlayUIAnimation,您应该可以找到很多关于如何在代码中使用动画的实例。