UDN
Search public documentation:

MatineeAnimControlTrackCH
English Translation
日本語訳
한국어

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 主页 > Matinee & 过场动画 > Matinee AnimControl 轨迹
UE3 主页 > 过场动画制作人员 > Matinee AnimControl 轨迹

Matinee AnimControl 轨迹


概述


关于MatineeAnimControl(动画控制)轨迹和高级人物动画混合协同使用的介绍。

当想在一个actor上仅运行一个动画时,您可使用Matinee轻松实现。首先,将您想要使用的AnimSet添加到actor组中的GroupAnimSets数组中。然后将一条AnimControl轨迹添加到组(Group)中,当您添加一个关键帧时,它应当提供AnimSequences列表以供选择。如果您仅使用一条AnimControl轨迹,则无需指定Slot(插槽)名称等内容。

Matinee使用“Slots(插槽)”在SkeletalMeshes(具有骨骼的网格物体)上播放多个动画。每个插槽分别对应着网格物体的一个特定区域。例如头部、躯干、右臂或整个网格物体。 然后,每个插槽均拥有多个通道。每个通道分别代表着某个时刻播放的一个潜在动画,因此拥有的通道越多则意味着多个动画在单个插槽上混合到一起。

本速成指南将按步骤介绍如何使用AnimControl轨迹,让Matinee在具有骨骼的网格物体上播放动画。

动画树设置


放置一个和AnimNodeBlendPerBone相结合的AnimNodeSlot动画节点来隐藏人物骨架中的某些特定部位。这个过程将创建matinee即将使用的Slots(插槽)。

一个Slot(插槽)定义了一个可进行动画播放的骨架蒙板。如果未使用任何AnimNodeBlendPerBone动画节点,那么相关动画将会影响到该骨架上的所有骨骼,从而带动“full body(全身)”运动。因而在此种情况下,放置一个AnimNodeSlot节点,并命名(节点的NodeName属性)为“Slot_FullBody”。

然后,您可以覆盖该骨架的局部区域,例如放置一个AnimNodeBlendPerBone节点,并隐藏掉腿部。然后,您可以再放置一个AnimNodeSlot,并命名为“Slot_UpperBody”。针对您想要进行自定义动画播放的各个部位,重复执行上述操作(如腿部、头部等等)。

AnimNodeSlot的首个子节点(源)与默认动画相连接。在默认情况下,它意味着无Matinee指定动画,因此它将会播放任何在AnimTree中设置的动画。这将让您拥有一个AnimTree操作的默认动画,例如当一个角色移动时,将会运行一个行走动画。但是,Matinee能够将一个动画叠加在它上面。例如,一个挥手动画被叠加在一个角色的上身。

使用Matinee的AnimControl轨迹,可在AnimNodeSlot的其它子节点(通道)上运行动画。轨迹越多,则您能够同时运行(混出/混入)的动画就越多。

请参见下列关于AnimTree简单设置的截图。

MAT_AnimTreeSetup.jpg

此处定义了三个插槽,其中Slot_LowerBody(插槽_下身),Slot_UpperBody(插槽_上身)优先于Slot_FullBody(插槽_全身)。 此处默认的动画是AnimNodeBlendBySpeed,当actor移动时执行一个向前走的动画,当静止站立时,执行一个Idle动画。 注意节点放入的顺序,这将允许在Slot_FullBody(插槽_全身)上运行一个全身动画,并且能够将另一个定制动画叠加在Slot_LowerBody(插槽_下身)或Slot_UpperBody(插槽_上身)(或两者)之上。 如果Slot_FullBody(插槽_全身)在AnimNodeBlendPerBone之前已被放置,则它无法将一个上身动画叠加到一个自定义的全身动画上,因为全身节点将会破坏上身的节点。

关卡设置


通过一个SkeletalMeshActorMAT actor把您的人物放置到地图中。注意在那个类中包含的代码可以被添加到任何Actor上,比如Pawns,从而可以在游戏中对这些Actors进行控制并且可以播放Matinee上的动画。SkeletalMeshActorMAT可以快速地插入一个网格物体并将其附加到mainee上,从而可以在该网格物体上播放动画。

请确保正���地设置了网格物体,通过设置AnimTreeTemplate的属性引用您先前创建的AnimTree。 同时在Movement标签中,设置Physics为PHYS_interpolating。

Matinee 设置


通过属性GroupAnimSets,InterpGroup应该具有您将要使用的动画特色。

添加来自InterpGroup的AnimControl轨迹(右击鼠标)。

SlotName是在AnimTree中设置的AnimNodeSlot名称。因此在我们的实例中,我们拥有Slot_FullBody(插槽_全身)、Slot_UpperBody(插槽_上身)和Slot_LowerBody(插槽_下身)。 创建这些插槽的复制轨迹,以创建更多通道。

加权优先顺序是由下至上的。因此最底部的通道将优先于最顶部的通道。如果您拥有两条Slot_FullBody通道,其加权值均为1.0,那么只有底部的通道才会插入动画。

"为了设置每条通道的加权值,应当使用曲线编辑器。加权值的有效范围为0.0 到 1.0。

用早期创建的 AnimTree 进行设置的实例,请参见下列截图:

MAT_Matinee.jpg