朱峰社区评论:这节课我们要讲两部分内容,一个是用UDK中的外部动画来制作动态的动画,另一个是FaceFx的工作流程。这是很有意思的一节课,希望大家不要错过,
概况
FaceFX动画数据被存储为曲线名和关键帧。只要actor在Face Graph中拥有与动画曲线名称相匹配的节点,则角色可以播放动画。因此,动画可以被多个actor共享,并且在游戏中动态加载。被导出的动画集为研发人员提供了一个这样做的接口。这个文件介绍了如何在UE3中创建和使用外部动画集(External Animation Set)。它不会介绍在游戏中装载和卸载外部动画集(External Animation Set)的界面,而仅仅涉及在FaceFx Studio中创建和修改外部动画集(External Animation Set)的界面。
外部动画集的创建(External Animation Set)
第一步是创建一个外部动画集(External Animation Set):右击一个现有的FaceFX Asset(FaceFX资源),然后选择“Create New FaceFX AnimSet...(创建新的FaceFX AnimSet...)”。
在弹出的对话框中,输入Package(文件包)和Group(组)信息,并为外部动画集(External Animation Set)命名。点击OK按钮。
此时,外部动画集(External Animation Set)被添加到FaceFX Asset(FaceFX资源)上,供创建之用。尽管它可能与任何FaceFX Asset(FaceFX资源)相关联,但是外部动画集(External Animation Set)需要指定一个默认的FaceFX Asset(FaceFX资源),使其了解使用哪个角色模型。通过右击新创建的外部动画集(External Animation Set),并选择“Properties(属性)”,即可修改默认的FaceFX Asset(FaceFX资源)。
打开FaceFX Studio中的外部动画集(External Animation Set)
双击外部动画集(External Animation Set),或右击它,并选择“FaceFX Studio”来打开FaceFX Studio中的外部动画集(External Animation Set)。加载在外部动画集(External Animation Set)属性中存储的默认FaceFX Asset(FaceFX资源),将外部动画集(External Animation Set)安装到actor上。
上述截图中的外部动画集(External Animation Set)显示为一种动画组。从用户角度看,已安装的外部动画集(External Animation Set)与动画组之间没有直观差异。然而本质上,动画组是被存储在FaceFX Asset(FaceFX资源)中,而外部动画集(External Animation Set)是被存储在Unreal文件包中的任何其他地方。
[next]您每次仅可操作一个来自UnrealEd的外部动画集(External Animation Set)。然而在游戏中,您可以将多个外部动画集(External Animation Set)动态安装到一个FaceFX Asset(FaceFX资源)上。
添加动画至外部动画集(External Animation Set)中
新创建的外部动画集(External Animation Set)将不含有任何动画。您可以将动画转移到外部动画集(External Animation Set)中,或利用动画管理器生成新的动画。在FaceFX Studio中的actor菜单上选择“Animation Manager(动画管理器)...”。
通过动画管理器,从左侧的动画组下拉列表中选择外部动画集(External Animation Set)。在下列截图中点击带有两个向左箭头的按钮,即可将默认组中的Silence_Loop动画转移到外部动画集(External Animation Set)中。
点击“Create Animation(创建动画)...”按钮,并执行Create Animation Wizard(创建动画向导),即可通过声音提示来创建新的动画。确保外部动画集(External Animation Set)被选作Animation Manager(动画管理器)对话框左上侧的Primary Animation Group(首选动画组)。在下列截图中,通过分析在OC3_Slade文件包中存储的“welcome(欢迎)”声音提示,将“welcome_external”动画添加到外部动画集(External Animation Set)中。
保存外部动画集(External Animation Set)
保存外部动画集(External Animation Set),仅需执行来自FaceFX Studio的保存操作。这将会把更改情况保存到FaceFX Asset(FaceFX资源)和外部动画集(External Animation Set)中。就算外部动画集(External Animation Set)呈现为FaceFX Asset(FaceFX资源)的组成部分,在保存时它将会被单独保存。保存指的是相关的Unreal文件包已被标识为dirty,您必须保存这个Unreal文件包,以完全实现您所作的更改。
以上是UDK外部动画的内容,接下来是FaceFx的工作流程的介绍。
概况
FaceFX使用FXA文件来实现UnrealEd和Max或Maya之间的导出导入。本文档介绍了在使用FaceFX的这种特性时应执行和不应执行的一些操作。
FXA文件内容
FXA文件采用二进制文件格式,其中仅包含播放游戏动画所需的数据。此数据包括:
- 骨骼姿势和参考姿势
- Face Graph节点和链接
- 各动画的关键帧
FXA文件不包括下列数据:
- 音素(phoneme)和单词(word)定时信息
- Face Graph节点位置
- 节点组(group)
- 只在FaceFX Studio中使用且不会在游戏中使用的各种数据
导入和导出FXA文件
右击FaceFX资源,并选择“Import from .FXA(从.FXA中导入)”或“Export to .FXA(导出到.FXA中)”,即可将FXA文件从UnrealEd中导入或导出。
通过插件修改FXA文件
在您首次创建FaceFX资源时,您需要导入上述FXA文件。如果需要修改actor中的任何姿势,或创建新的姿势,那么您只需导出FXA文件,通过插件予以修改,然后将其导回原处。您通过FaceFX插件执行的任何操作均不会导致FXA文件与FaceFX Asset(资源)不同步。执行“export(导出)——modify from plugins(通过插件予以修改)——import(导入)”,轻松实现您的需求。只需注意下列事项:
- 如果您从插件中导出了一个新的Reference Pose(参考姿势),则应确保重新导出您所有的骨骼姿势。
- FXA文件仅包含FaceFX资源中的一个信息子集,因此不应将其作为您FaceFX Asset(资源)的“备份”。
- 如果您已经修改了UnrealEd中的FaceFX资源,则不得导入FXA文件。换言之,在导出FXA文件之后您应当停止操作FaceFX Asset(资源),直到您导入了已修改好的FXA文件为止。
好了,今天的课就到这了,内容挺多的。但都很主要。我们明天会继续发课程的,多多支持哈!
,
评论