Unreal特有的FaceFx节点

修改
鏉ユ簮: 上帝宝贝 浏览 5163 日期 2011-08-29 0

朱峰社区评论: FaceFX节点是Unreal集成系统中较为特殊的一部分。这节课我们主要是简要介绍创建形态目标和材质参数FaceFX节点的方式。

概况

在Unreal集成系统中存在两种特殊的FaceFX节点。关于这两种节点的操作,其他FaceFx文档并未提及,因此将由本文档来对它们的功能进行说明。这两种节点是:FUnrealFaceFXMaterialParameterNode(Unreal FaceFx材质参数节点)和FUnrealFaceFXMorphNode(Unreal FaceFx形态节点)。

创建FUnrealFaceFXMaterialParameterNode(FUnreal FaceFx材质参数节点)

材质参数节点通过创建法向贴图动画,达到非常真实的面部动画效果。在下述示例中,会把Slade的贴图变成红色。到Face Graph(面部图)标签里,在Face Graph(面部曲线图)上点击右键。选择Add Node(添加节点)-> FUnrealFaceFXMaterialParameterNode。将节点命名为Face_Red_MaterialScalarParameter。

新创建的节点除了具有组合器节点的所有功能外,还有一些额外的属性:Material_Slot_Id(材质_插槽_标识)和Parameter_Name(参数_名称)。在Face Graph中选中节点后,可以通过编辑Face Graph节点属性进行修改。

修改Material_Slot_Id(材质_插槽_标识)

Material_Slot_Id是与用于动画的材质插槽相关联。在这个示例中,所修改的Slade的主要贴图就位于Material slot 1中。双击骨架网格,打开AnimSet Viewer(动画集查看器),进入右边的Mesh(网格物体)标签,可以查看骨架网格的材质插槽。选中新建的FUnrealFaceFXMaterialParameterNode,在Face Graph里将Material_Slot_Id属性值设为“1”,就可以将新建的Face Graph节点与Material slot 1相关联。

修改Parameter_Name(参数_名称)

要使示例中人物的面部变成红色,首先创建一个名为Face_Red的Scalar (标量)参数,该参数将改变贴图的Emissive(自发光)通道。选中新建的FUnrealFaceFXMaterialParameterNode,在Face Graph里将Parameter_Name的属性值设为“Face_Red”,就可以用FaceFX驱动这个参数的值。

[next]

创建FUnrealFaceFXMorphNode(Unreal FaceFx形态节点)

要在FaceFX Studio中预览形态目标之前,还需要在FaceFXAsset(FaceFX资源)中配置一下PreviewMorphSets(预览形态集)。在Generic Browser (综合浏览器)中右键点击FaceFXAsset,选择“Properties...”。此时,就像在AnimTree Editor中的操作一样,选择要预览的形态目标集。

要创建形态节点,可以在Face Graph中点击右键,选择Add Node -> FUnrealFaceFXMorphNode。将节点命名为Slade_Egghead_MorphTarget。形态目标节点只有一个额外参数:Target_Name(目标_名称)。

修改Target_Name(目标_名称)

对于形态目标节点来说,只需要指定其名称即可以使用。在这个示例中,选中新建的FUnrealFaceFXMorphNode,在Face Graph里将Target_Name的属性值设为Slade_Egghead。

实现Unreal特有的节点动画

要观看新建节点的动作效果,需要创建一个combiner node(组合器节点),它可以同时驱动这两种特殊的节点。首先,将应用程序切换到Create Combiner(创建组合器)模式下。进入Workspace(工作区)标签,在列表中选择“Create Combiner”。

然后,进入FaceFX中的Preview(预览)标签,打开左边Actor面板中的Face Graph区。确保Face Graph区顶部的Node Group(节点组)值为All Nodes(所有节点)。将垂直滚动条拖到列表的底部,可以看到新建的FaceFX节点。当然,也可以将列表中的节点排序,按名称找到它们。可以通过节点列表下方的快速预览滑块驱动目标。首先,驱动face_Red_MaterialScalerParameter。

然后,从Actor面板的Face Graph区中,选择Slade_Egghead_MorphTarget。提高它的节点值。这样,两个节点就都有了值。

最后,回到Workspace标签,点击“Create Combiner Node From Sliders”(从滑块创建组合器节点)按钮。在弹出的“Create Face Graph Node”(创建面部曲线图节点)对话框中,将新节点的名称改为“Unreal_Red_Egghead”,点击Create(创建)按钮。这样就在Face Graph中创建了新的组合器节点,它可以同时驱动两个FaceFX节点。也可以直接从Face Graph标签修改Face Graph。不过相比之下,前者的可视化程度更好。

[next]

OK了,这节课就到这了,回去好好应用一下。我们明天继续学习哈,一定多关注我们社区啊!

,

评论

{{ 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) }}