UDN
Search public documentation:

FaceFXCommandsCH
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 主页 > FaceFX 表情动画 > FaceFX 命令

FaceFX 命令


概述


在 FaceFX Studio 中执行的大多数操作都是通过命令系统执行的。该文件会说明虚幻引擎 3 特定命令。其他命令的文档说明可以在 FaceFX.chm 文件中找到。(在版本 1.7.2 以及后续版本中,FaceFX 运行时按下 F1 会弹出帮助。)

CommandLine.JPG

分析


分析命令列在 FaceFX 文档中,但是在 UE3 中它有一些稍有不同的参数。不用指定 -audio 和 -directory 参数,您只需指定 -soundcue、-soundnodewave 或 -package。此外,在 UE3 中没有 -recurse 标志。

所以从本质上讲,分析 UE3 中 FaceFX Studio 内部的命令与单机版相同,下面是一些示例:

analyze -package "MatineeTest_Resources";
它会在 MatineeTest_Resources 包中所有 USoundCue 对象中分析第一个 USoundNodeWave 对象,如果它不存在会创建一个名为 MatineeTest_Resources 的动画组,如果它有效,使用每个 USoundNodeWave 对象中的 SpokenText,将每个动画命名为相应的 USoundNodeWave 对象的名称,而且不使用已经存在的名称覆盖改组中的任何动画。
analyze -package "MatineeTest_Resources" -group "Default" -notext -overwrite;
同上,但是会将所有动画放在“Default(默认)”组中,即使 SpokenText 属性有效,强制系统“不要”使用文本,并且使用那些名称覆盖已经存在的“默认”组中的所有动画。
analyze -soundcue "MatineeTest_Resources.welcomeCue" -soundnodewave "welcome";
与批处理情况进行相同的操作,但是对于单独的 USoundNodeWave 对象。如果您愿意,您可以使用与批处理情况相同的标志(但是如果没有指定 -group,默认情况下这里的所有对象都会进入“Default(默认)”组)。此外,您可以强制使用一个具有 -anim 标志的特定动画,例如(随附一些其他标志的示例):

UE3


使用 ue3 命令将 FaceFX 动画重定向为链接到不同的声效和声音节点波对象。

ue3 -link -group "Default" -anim "Welcome" -soundcuepath "NewPackage.welcomeCue" -soundnodewavename "welcome";
将会链接到 Default(默认)组中的 Welcome(欢迎)动画,欢迎 soundnodewave 对象在 NewPackage.welcomeCue 声效对象中。

您还可以‘批处理’它们:

ue3 -link -group "Default" -package "NewPackage";
它会在 Default(默认)组中处理所有动画并简单地将每个动画 soundcuepath 替换为 "NewPackage.oldCueName"。这会认定旧的包和新包之间的 soundCueName 和 soundNodeWaveName 相同(例如,唯一会更改的是它寻找数据所在的包)。
ue3 -updatesoundcues
它会处理当前动画集中的所有 facefx 动画,然后查找引用的声效。然后会将该声效更新为指回 facefx 动画。如果您有多个使用相同声效的动画(这是不允许的),那么将会强制性运行 "last updatesoundcue"。

注意: UE3 的所有命令都会在 FxUE3Command.cpp 中执行,所以如果您想知道它们实际做了些什么,那么迁出它们。

执行命令


可以手动将命令输入到上面显示的 FaceFX 命令行中,或者可以将它们嵌入到一个 .fxl 文件中像批处理一样通过 'exec' 命令执行,如下所示:

exec -f "C:\MyFaceFXCommands.fxl"

此外,FaceFX Studio 会在各个执行点时搜索 Binaries\FaceFX 文件夹名称中一些特定的 FXL 文件。例如,如果您将一个 autoexec.fxl 文件放置在 Binaries\FaceFX 中,每次打开 FaceFX Studio 时都会执行内部的所有命令。还会搜索到诸如 preloadactor.fxl, presaveactor.fxl、postloadactor.fxl、postsaveactor.fxl 的其他文件名。如果您希望只针对特定的 actor 发布命令,那么创建以下其中一种,将 "ActorNameofFXA" 替换为您想要触发命令的 actor 名称。

  • ActorNameofFXA_PreLoad.fxl
  • ActorNameofFXA_PostLoad.fxl
  • ActorNameofFXA_PreSave.fxl
  • ActorNameofFXA_PostSave.fxl

这个格式与 FaceFX 文档中描述的 FileNameOfFXA_PostLoad.fxl 格式略有不同,因为在 UE3 集成中没有相应的文件。