您可以在第三方建模软件中创建或修改现有模型以支持可动画头部,例如 Blender 或 Maya。在创建头部时,您的角色模型必须满足以下要求:
- 模型符合标准 建模要求,并包含头部几何体,如眼睛、嘴巴和牙齿。
为了满足这些要求,您可以在设计和造型自己的头部时应用本指南中的步骤。本指南涵盖在简化参考角色(Cubie)中使用 Blender 添加面部骨骼、造型和映射 5 种基础 FACS 姿势的基本过程,然后导出模型。
参考文件
以下是头部参考文件,包括本指南的所有示例文件:
| 参考文件 | 描述 |
|---|---|
| Cubie-Model-Only.blend | 一个包含 R15 Cubie 角色模型的 Blender 项目文件,不包含面部数据。 |
| Cubie-Eye-Bones-Skinned.blend | 一个包含示例 Cubie 角色模型的 Blender 项目文件,带有绑定的眼睛骨骼,但不包含造型或映射数据。 |
| Cubie-Eye-Poses-Mapped.blend | 一个包含已保存和映射的 5 种示例姿势的 Cubie 角色模型的 Blender 项目文件。 |
| Cubie-Complete.fbx | 一个完全绑定面部和保存超过 50 种姿势的 Cubie 角色模型。您可以将此文件导入到 Studio,或在您首选的 3D 建模软件中打开该文件。 |
| Cubie-Texture_ALB.png | 一个 Cubie 纹理图像文件。在将 Cubie 模型导入到 Studio 后,您可以将此文件作为头部部分的 TextureID 添加。 |
| Cubie-Complete.ma | 提供的 Cubie Maya 项目作为附加参考。 |
建模要求
许多角色模型已经包含具有明显面部特征的头部,但可能需要对模型进行轻微的建模调整以实现头部兼容性。建模角色时,请确保头部网格符合 头像角色规格 以便于导入 Studio,以及以下要求:
- 面部部分 - 确保包含明显的面部特征,如眼睛、上牙、下牙和舌头。
- 嘴唇顶点 - 如果您希望角色能够使用嘴巴,请分开嘴唇顶点,以便嘴巴可以张开。
- 内部组件 - 如果您的角色具有内部口腔组件,如舌头和牙齿,请在头部网格中建模一个口袋以容纳这些特征。如果您的角色使用眼窝,则建模一个类似的眼窝以容纳这些特征。
- 无额外数据 - 确保 Head_Geo 的所有子面部部分不包含历史记录或冻结变换。
- 外部笼 - 确保角色模型有一个外部笼以支持面部配饰和分层衣服。有关更多信息,请参见 笼网要求。
您可以使用符合这些建模要求的 绑定 Cubie 角色 来跟随本头部创建过程的其余部分。该版本不包含任何面部绑定或姿势数据,因此您可以在本指南中用作参考。
绑定
您的角色必须具有内部骨骼结构,以驱动面部几何体的顶点并使面部姿势得以实现。与 绑定人形模型 不同,Studio 不要求头部具有特定的骨骼层次结构。然而,为了确保面部绑定正常工作,骨骼必须包括一个 RootFaceJoint 骨骼和 其他面部骨骼。
RootFaceJoint
RootFaceJoint 是一个父级为标准 R15 头部骨骼的骨骼。此根骨必须为所有其他面部骨骼提供父级。在 Blender 中,您可以通过 挤压 从头部骨骼快速添加一个骨骼,然后将骨骼名称作为属性映射到 Head_Geo 网格。RootFaceJoint 骨骼对象在参考模板和示例中通常被命名为 "DynamicHead",但您可以使用任何名称,只要您 映射根骨 到自定义属性中即可。
添加 RootFaceJoint 骨骼的步骤如下:
在 Blender 中,打开 Cubie-Model-Only.blend 项目。

点击任意骨骼以选择骨架,然后切换到 编辑模式。
在 大纲 中,点击 头部 骨骼。
在 视口 中,按 E 并向上拖动鼠标,以从 头部 骨骼挤出一个额外的子骨骼。
在 大纲 中,将该骨骼重命名为 DynamicHead。您将在后面的 映射 部分通过名称引用此骨骼。
面部骨骼
面部骨骼驱动面部几何体的弯曲和变形。您头部的每个可造型面部特征通常至少需要一个骨骼。复杂的特征,如眼睛和嘴巴,可能需要多个骨骼以使某些姿势成为可能。
绑定和加权的过程取决于角色模型,并在工具和建模者之间有所不同。规划角色所需的所有面部姿势是很重要的,以避免后续需对头部骨骼进行额外调整。
以下说明描述了一个基本过程,用于 添加面部骨骼 和 加权,或施加影响,给参考模型的 眼睛 和 眼睑。您可以继续将此技术应用于需要关节活动的其余面部特征,如角色的嘴巴、脸颊和下巴。在添加骨骼和施加影响后,您可以创建 控制,可以帮助使下一个造型过程更加高效。
添加面部骨骼
您角色所需的特定头部骨骼取决于您打算用于的姿势。以下示例涵盖了为每只眼睛添加 1 个骨骼和为眼睑添加 4 个骨骼的过程,以实现眨眼、眨眼和凝视方向。
在创建面部绑定时,尽可能使用少于 50 个面部骨骼,并保持骨骼有序且与其相关的面部特征一致。通常,较高数量的顶点和关节会影响您游戏的性能。
眼睛
每只眼睛需要一个骨骼,尽管您可能会选择稍后创建一个控制器骨骼来同时控制两只眼睛。为了确保您对称地放置骨骼,您可以在视口的右上角启用 X 轴镜像。这将使与对立后缀共享相同名称的骨骼沿 X 轴移动。
向角色眼睛添加骨骼的步骤如下:
在 对象模式 下,选择 骨架,然后切换到 编辑模式。
点击 添加,然后选择 单个骨骼。这样做两次。
将一个骨骼重命名为 LeftEye,将另一个重命名为 RightEye。
启用 X 轴镜像。
将左或右骨骼定位于模型的眼睛中心。
水平和正面调整骨骼。设置骨骼水平的快速方法:
- 在 视口 的右上角,展开 工具面板 到 变换 部分。
- 选择骨骼后,将 头部 Y 位置复制到 尾部 Y 位置。
- 将 尾部 Z 设置为 0.2 厘米。这将尾部 Z 坐标设置为离头部 Z 坐标 0.2 厘米偏移。
按住 Shift,点击两个 眼睛 骨骼。
同时按住 Shift,点击 面部 骨骼。
右键点击视口。将显示一个上下文菜单。
选择 父级,然后选择 设置为父级,最后选择 带偏移。
眼睑
在添加骨骼时,您可以通过选择现有的面部骨骼并复制它们来快速创建从属于面部骨骼的骨骼。这将自动创建从属于面部骨骼的骨骼。
将骨骼添加到角色的眼睑的步骤如下:
在 编辑模式 下,按住 Shift 并点击两个 眼睛骨骼 以选择它们。
按下 ShiftD 并点击以在相同位置复制骨骼。重复此操作四次,以总共创建 8 个新骨骼。
启用 X 轴镜像,并将每个骨骼定位于眼睛的角落。
在 大纲 中,重命名所有骨骼以反映其特定位置。使用以下名称:
- LeftUpperOuterEyelid
- RightUpperOuterEyelid
- LeftLowerOuterEyelid
- RightLowerOuterEyelid
- LeftUpperInnerEyelid
- RightUpperInnerEyelid
- LeftLowerInnerEyelid
- RightLowerInnerEyelid

对面部骨骼进行加权
您可以使用几种方法对角色绑定进行 加权。以下示例使用 Blender 的 权重绘制 模式,绘制单个骨骼可以控制哪些顶点。对于复杂角色,绑定通常是一个耗时的步骤,建议具备加权和面部造型的背景知识。
对于复杂模型,在应用详细或共享影响时,建议启用 自动标准化,以防止骨骼之间的影响冲突。
眼睛
示例项目中的两个眼睛需要对眼睛几何体内的瞳孔施加完全影响。根据眼睛的设计,您可能需要调整影响以创建自然的眼部姿势。
向 LeftEye 添加影响的步骤如下:
在 对象模式 下,点击头部网格,然后按住 Shift 点击任意骨骼以选择骨架。
切换到 权重绘制模式。
切换到 X 射线查看模式 或 材质预览模式 以更好地可视化顶点。
按住 Shift 并点击 LeftEye 骨骼以选择它。当前选择的骨骼名称将在视口左上方显示。
在眼睛内绘制影响。对于此示例,请确保瞳孔为红色,或完全受到所选骨骼的影响。
切换到 对象模式,然后点击任意骨骼以选择骨架。
切换到 姿势模式,确保选中骨架。
通过抓住骨骼并移动它来测试眼睛骨骼的影响。下面的网格应跟随。
对右眼重复这些步骤。
眼睑
眼睑骨骼需要自己的单独影响。虽然示例姿势仅操作上眼睑,但能够控制下眼睑的底部角落对于其他姿势(如 LeftCheekRaiser 和 RightCheekRaiser)很重要。
向左眼睑添加影响的步骤如下:
在 对象模式 下,点击头部网格,然后按住 Shift 点击任何骨骼。
切换到 权重绘制模式。
切换到 X 射线查看模式 或 材质预览模式 以更好地可视化顶点。
绘制影响在离骨骼最近的顶点上。
完成后,按住 Shift 并点击另一个骨骼,开始为最近的顶点施加影响。对每个眼睑骨骼执行此步骤。
切换到 对象模式,选择角色网格,然后切换到 姿势模式 进行测试。
您可以下载 这个项目的一个版本,其中骨骼到此为止的加权作为参考。
添加控制器
由于创建头部需要连续保存多个姿势,因此虽然不是必需的,但控制器可以帮助您快速有效地造型骨骼。您可以通过添加外部控制器骨骼来创建控制器,这些控制器对内部骨骼施加影响,使访问和造型更简单,也可以重置为中性变换。
您可以通过多种不同方式创建控制器。以下示例使用 骨骼约束 和在参考 Blender 项目中包含的简单几何形状,快速设置易于访问的控制器骨骼,以控制角色的面部骨骼。有关绑定和约束的更多信息,请参见 Blender 的文档,以获取关于 角色绑定 和 对象约束 的额外详细信息。
开始创建面部骨骼控制器的步骤如下:
- 在 对象模式 下,选择 Joints 骨架,按 ShiftD 复制 Joints 骨架对象。
- 将新骨架重命名为 Controller。
- 在 编辑模式 下,选择所有非面部骨骼,右键点击并选择 删除所选骨骼。
- 将骨骼重命名为包含 _Con,以标示它们为控制器骨骼。您可以使用以下过程批量重命名它们:
- 在 大纲 中,按住 Shift 并点击所有控制骨骼。
- 导航到 编辑 > 批量重命名。重命名模态会显示。
- 设置为 所选项,并使用下拉菜单设置为 骨骼。
- 将 类型 设置为 设置名称。
- 将 方法 设置为 后缀。
- 在 名称 中,添加 _Con。
- 点击 确定 按钮。
- 切换到 对象模式,选择原始 Joints 骨架 对象。
- 切换到 姿势模式。
- 点击原始骨骼,如 LeftEye,然后导航到 骨骼约束属性面板。
- 添加 复制位置 和 复制旋转,然后将每个原始骨骼的约束设置为针对其对应的控制器骨骼,例如 LeftEye_Con。
- 在 复制旋转 约束中,设置以下属性:
- 在 轴 中,禁用 X、Y 和 Z。
- 在 反转轴 中,启用 X、Y 和 Z。
- 将 混合 设置为 偏移(遗留)。
- 对需要控制器的每个面部骨骼执行步骤 7-9。
为更容易访问控制骨骼创建自定义骨骼形状的步骤如下:
切换到 对象模式,选择 Controller 骨架对象。
切换到 姿势模式。
选择一个控制器骨骼,例如 LeftEye_Con。
切换到 骨骼属性 面板,展开 视口显示 部分。
选择项目中包含的自定义形状之一。在参考项目中,形状对象的名称与面部骨骼类似。
将 X 旋转设置为 -90。根据需要设置任何附加缩放。
对所有控制器骨骼执行步骤 3-6。此时您可以隐藏原始面部骨骼。
(可选)设置 骨骼组,为您的控制器骨骼分配颜色:
导航到 对象数据属性 面板。
创建一个新的骨骼组。
将 颜色集 更改为您选择的颜色主题。
点击 分配 来为当前选择的控制器分配该颜色。您可以批量执行此步骤。
在 姿势模式 中测试您的控制器。
姿势
造型 是将头部网格的骨骼调整到每个动画帧的特定位置的过程。完成模型的头部绑定后,您可以开始将姿势保存到时间轴的过程。该数据使 Studio 能够访问每个面部动作,并动画或混合面部姿势以创建动态表情。
在将角色头部网格的骨骼造型到新位置时,请遵循 面部动作编码系统 (FACS) 作为面部表情姿势的参考。FACS 是一个全面、基于解剖学的系统,用于描述所有可视可辨的面部运动,并允许所有面部动画在角色之间共享。这意味着一旦您创建了面部动画,您可以将其重用于任何具有 可动画头部 和 FaceControls 实例的角色。
您建模软件的动画时间轴中的每帧可以包含一个独特的 FACS 姿势,因此,当您想要创建多个 FACS 姿势时,必须将每个 FACS 姿势保存到不同的帧。您还必须包括一帧,其中您的角色具有中性面部,并且面部控制器和骨骼设置为其默认值。这确保了 Studio 可以计算角色的中性表情与每个 FACS 姿势之间的骨骼位置差异。因此,将帧 0 设置为角色的中性表情,并从帧 1 开始保存 FACS 姿势。
以下图像是 Blender 动画时间轴的示例,其中包含 5 帧。帧 0 有角色的中性表情,帧 1-4 有 FACS 姿势数据。

在 Roblox 中有 50 种基础姿势,可用于展示角色的广泛面部情感。当决定需要哪些姿势时,请记住,FACS 姿势名称总是基于角色的方向,而不是相机的方向。例如,LeftEyeClosed 关闭角色的左眼,而左眼位于相机视图的右侧。
您可能不需要角色的所有 50 种基础姿势。例如,一个简单的机器人只需打开嘴巴和眨眼,可能只需要 JawDrop、LeftEyeClosed 和 RightEyeClosed。因此,您希望角色表现得越丰富,您在动画时间轴中需要包含的 FACS 姿势就越多。建议按字母顺序保存您打算与头部一起使用的基础姿势,然后将之后的任何帧用于 组合姿势。
以下步骤概述了使用参考中创建的面部骨骼造型 5 种姿势的过程,但您可以将这些步骤应用于任何额外姿势以实现更具表现力的头部。在 Blender 中造型面部骨骼的步骤如下:
确保将动画时间轴播放头设置为正确的帧。
- 如果您设置角色的 中性姿势,请将其设置为 帧 0。
- 如果您正在造型 EyesLookLeft,请将其设置为 帧 1。
- 如果您正在造型 EyesLookRight,请将其设置为 帧 2。
- 如果您正在造型 LeftEyeClosed,请将其设置为 帧 3。
- 如果您正在造型 RightEyeClosed,请将其设置为 帧 4。
在 姿势模式 下,将姿势设置为您希望姿势真实使用的最大位置:
- 如果您正在设置角色的 中性 姿势,请将面部控制器和骨骼设置为其默认值,
- 如果您正在造型 EyesLookLeft,请选择两个眼部控制器骨骼并将眼睛拖向角色的左侧。
- 如果您正在造型 EyesLookRight,请选择两个眼部控制器骨骼并将眼睛拖向角色的右侧。
- 如果您正在造型 LeftEyeClosed,请选中两个眼睛控制器骨骼并将左眼睑向下拖动,直到与下眼睑相接触。
- 如果您正在造型 RightEyeClosed,请选中两个眼睛控制器骨骼并将右眼睑向下拖动,直到与下眼睑相接触。
在 视口 中,按 A 选择所有骨骼。
右键点击,选择 插入关键帧 > 位置和旋转。这确保每帧包含所有骨骼的位置信息和旋转信息。
在时间轴中保存完所有姿势后,将动画时间轴的开始和结束设置为表示保存的姿势帧的数量。在此特定示例中,总是将 开始 设置为 0,并可以将 结束 设置为 4(如果您只映射 4 个非中性示例姿势)。

组合姿势
您可以在单个动画帧中组合 2-3 个基础 FACS 姿势,以显示复杂的面部表情。然而,当您组合控制 相同 面部区域的 FACS 姿势时,面部特征可能会发生重叠或变形。
例如,LeftEyeClosed 和 LeftCheekRaiser 都控制角色左眼周围的运动:LeftEyeClosed 关闭眼睛,而 LeftCheekRaiser 抬起脸颊并推动下眼睑,导致类眯眼效果。当您将这两种姿势与其他一个或多个姿势叠加到 100% 时,下眼睑与上眼睑就会重叠:
组合姿势,或 修正,是将 2-3 个控制相同面部特征的 FACS 姿势在单个动画帧中组合,并且具有 与其默认值的 100% 的修正差异。通过定义和映射组合姿势到您的头部,您可以修正您希望两个或多个 FACS 姿势怎样组合。例如,如果您为每个之前的用例添加一个修正,下面与上眼睑将会接触而不会发生重叠:
在导入时,Studio 计算并存储组合姿势的修正差异在头部的 FaceControls 实例中,并且 FaceControls 实例在 动画编辑器 中合并时修正基础姿势的值。
映射
在完成您角色所需的每个 FACS 姿势的造型后,您必须映射或链接 您造型的每个动画帧 到相应的 FACS 基础或组合姿势名称。映射将骨骼位置和变换存储在头部 MeshPart 中,当您开始在 动画编辑器 中动画化头部时,FaceControls 实例使用此存储的数据来将角色的面部特征转换为相应的 FACS 姿势。
除了将每个姿势映射到其正确的姿势名称外,您还需要映射 RootFaceJoint,以便 Studio 能够正确定位该关节并在导入时隐藏所有子关节及其骨骼。
要映射您的保存姿势和 RootFaceJoint,请遵循以下步骤:
切换到 对象模式。
选择 Head_Geo 网格。
在 属性编辑器 的 对象属性 选项卡中,导航到 自定义属性 部分,然后点击 新建 按钮。一个新的自定义属性将在 新建 按钮下方显示。

在新自定义属性的右侧,点击 齿轮图标。 将显示 编辑属性 弹出窗口。

点击 类型 下拉菜单,然后选择 字符串。
在 属性名称 字段中:
- 如果您正在映射一个姿势,请输入您要映射的 帧号,例如 Frame0。
- 如果您正在映射 RootFaceJoint,请输入 RootFaceJoint。
保持 默认值 和 描述 字段为空。
点击 确定 按钮。新的自定义属性将更新为您的新属性名称。
在自定义属性名称右侧的字段中:
- 如果您正在映射基础姿势,请输入相应的 FACS 基础姿势 或组合姿势名称,确保拼写完全相同。
- 如果您正在映射组合姿势,请输入每个您正在组合的基础姿势,使用下划线分隔,例如 Funneler_JawDrop_Pucker。
- 如果您正在映射 RootFaceJoint,请输入面部根骨骼的名称,通常为 DynamicHead。
按 Enter。
在重复此过程时,每创建一个额外的自定义属性会显示在 属性编辑器 的 自定义属性 部分中。

您可以下载一个 这个项目的版本,其中包含到此为止保存和映射的姿势作为参考。如果将带保存动画数据的头部 .fbx 导入到 Blender,请确保在 .FBX 导入窗口中将 动画偏移 设置为 0,以包含时间轴的帧 0。

导出
完成角色的头部造型和映射后,您可以将角色模型导出为 .fbx 文件,以便导入到 Studio,使您可以使用 FaceControls 实例访问 4 个眼部姿势。您还可以引用已完全配置的 Cubie 头部 .fbx 以访问所有 50 多个基础姿势。
可动画头部的导出设置与 标准第三方建模导出设置 略有不同。要将基础头部模型导出为 .fbx,请遵循以下步骤:
- 在顶部菜单中,点击 文件。将显示一个弹出菜单。
- 选择 导出,然后选择 FBX (.fbx)。显示 Blender 文件视图 窗口。
- 展开 包含 并启用 限制为 > 活动集合。如果您的 Blender 项目中没有其他集合,此步骤是可选的。
- 在 包含 部分,启用 自定义属性。
- 展开 骨架 部分,取消选中 添加叶骨。
- 启用 烘焙动画。
- 展开 烘焙动画,取消勾选 NLA 辫子、所有动作 和 强制开始/结束关键帧。
- 点击 导出 FBX 按钮。将 FBX 保存到您选择的目录。
此时,您可以将 .fbx 导入到 Studio 作为具有支持的可动画头的角色。有关模型导入和使用说明,请参阅 在 Studio 中测试头部。