中级教程

创建基本头部

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

您可以在第三方建模软件中创建或修改现有模型以支持动画头部,例如 BlenderMaya。在创建头部时,您的角色模型必须满足以下要求:

为了满足这些要求,您可以在设计和摆姿时应用本指南中的步骤。该指南涵盖了在 Blender 中为简化参考角色(Cubie)添加面部骨骼、摆姿和映射 5 个基本 FACS 姿势的基本过程,然后导出模型。

参考文件

以下是头部参考文件,包括本指南中的所有示例文件:

参考文件描述
Cubie-Model-Only.blend一个包含 R15 Cubie 角色模型的 Blender 项目文件,不包含面部数据。
Cubie-Eye-Bones-Skinned.blend一个包含示例 Cubie 角色模型的 Blender 项目文件,带有皮肤眼骨,不包含摆姿或映射数据。
Cubie-Eye-Poses-Mapped.blend一个包含 Cubie 角色模型的 Blender 项目文件,保存并映射了 5 个示例姿势。
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 骨骼:

  1. 在 Blender 中,打开 Cubie-Model-Only.blend 项目。

  2. 点击任何骨骼以选择骨架,然后切换到 编辑模式

  3. 大纲 中,点击 骨骼。

  4. 视口 中,按 E 并向上拖动鼠标以从 骨骼挤出一个额外的子骨骼。

  5. 大纲 中,将此骨骼重命名为 DynamicHead。您将在 映射 部分稍后按名称引用此骨骼。

面部骨骼

面部骨骼驱动面部几何体的弯曲和变形。您头部的每个可摆动面部特征通常至少需要一个骨骼。复杂的特征,例如眼睛和嘴巴,可能需要多个骨骼以使某些姿势成为可能。

绑定和皮肤的过程取决于角色模型,并且在工具和建模者之间有所不同。重要的是要规划出角色所需的所有面部姿势的完整范围,以避免稍后对头部骨骼进行额外调整。

以下说明描述了为参考模型的 眼睛眼睑 添加面部骨骼皮肤 的基本过程。您可以继续将此技术应用于需要关节的其余面部特征,例如角色的嘴巴、脸颊和下巴。在添加骨骼并应用影响后,您可以创建 控制,以帮助使下一个摆姿过程更高效。

添加面部骨骼

您的角色所需的特定头部骨骼取决于您打算使用的姿势。以下示例涵盖了为每只眼睛添加 1 个骨骼和为眼睑添加 4 个骨骼的过程,以允许眨眼、眨眼和视线方向。

在创建面部绑定时,尽可能使用少于 50 个面部骨骼,并保持骨骼有序且特定于其相关的面部特征。一般来说,较高数量的顶点和关节可能会影响游戏的性能。

眼睛

每只眼睛各需要一个骨骼,尽管您可能选择稍后创建一个控制器骨骼,以便同时控制两只眼睛。为了确保您对称地放置骨骼,您可以在视口的右上角启用 X 轴镜像。这会沿 X 轴移动与对立后缀共享相同名称的骨骼。

要为角色的眼睛添加骨骼:

  1. 对象模式 中,选择 骨架 并切换到 编辑模式

  2. 点击 添加,然后选择 单个骨骼。执行两次。

  3. 将一个骨骼重命名为 LeftEye,将另一个重命名为 RightEye

  4. 启用 X 轴镜像

  5. 将左或右骨骼定位在模型的眼睛中心。

  6. 水平调整骨骼并面向前方。设置骨骼水平的快速方法:

    1. 视口 的右上角,展开 工具面板变换 部分。
    2. 选择骨骼后,将 头部 Y 位置复制到 尾部 Y 位置。
    3. 尾部 Z 设置为 0.2 厘米。这将尾部 Z 坐标设置为距离头部 Z 坐标 0.2 厘米的偏移。
  7. 按住 Shift 并点击两个 眼睛 骨骼。

  8. 仍然按住 Shift,点击 面部 骨骼。

  9. 在视口中右键单击。将显示上下文菜单。

  10. 选择 父级设置,然后选择 带偏移

眼睑

在添加骨骼时,您可以通过选择现有面部骨骼并复制它们来快速创建父级为面部骨骼的骨骼。这会自动创建父级为面部骨骼的骨骼。

要为角色的眼睑添加骨骼:

  1. 编辑模式 中,按住 Shift 并点击两个 眼睛骨骼 以选择它们。

  2. ShiftD 并点击以在相同位置复制骨骼。执行四次以创建总共 8 个新骨骼。

  3. 在启用 X 轴镜像 的情况下,将每个骨骼定位在眼睛的角落。

  4. 大纲 中,将所有骨骼重命名以反映其特定位置。使用以下名称:

    1. LeftUpperOuterEyelid
    2. RightUpperOuterEyelid
    3. LeftLowerOuterEyelid
    4. RightLowerOuterEyelid
    5. LeftUpperInnerEyelid
    6. RightUpperInnerEyelid
    7. LeftLowerInnerEyelid
    8. RightLowerInnerEyelid

皮肤面部骨骼

您可以使用几种方法将 皮肤 应用到角色绑定。以下示例使用 Blender 的 权重绘制 模式来绘制单个骨骼可以控制的顶点。对于复杂角色,皮肤通常是一个耗时的步骤,建议具备皮肤和面部摆姿的背景知识。

在为复杂模型应用详细或共享影响时,建议启用 自动归一化,以防止骨骼之间的影响冲突。

眼睛

示例项目中的两只眼睛需要在眼睛几何体内对瞳孔施加完全影响。根据眼睛的设计,您可能需要调整影响以创建逼真的眼睛姿势。

要为 LeftEye 添加影响:

  1. 对象模式 中,点击头部网格,然后按住 Shift 并点击任何骨骼以选择骨架。

  2. 切换到 权重绘制模式

  3. 切换到 X 射线视图模式材质预览模式 以更好地可视化顶点。

  4. 按住 Shift 并点击 LeftEye 骨骼以选择它。当前选择的骨骼名称显示在视口的左上角。

  5. 在眼睛内的顶点上绘制影响。对于此示例,请确保瞳孔为红色,或完全受到所选骨骼的影响。

  6. 切换到 对象模式,然后点击任何骨骼以选择骨架。

  7. 选择骨架后切换到 姿势模式

  8. 通过抓住骨骼并移动它来测试眼骨的影响。下面的网格应跟随。

  9. 对右眼重复这些步骤。

眼睑

眼睑骨骼需要自己的单独影响。虽然示例姿势仅操控上眼睑,但能够控制眼睑的下角对于其他姿势(例如 LeftCheekRaiserRightCheekRaiser)非常重要。

要为左眼睑添加影响:

  1. 对象模式 中,点击头部网格,然后按住 Shift 并点击任何骨骼。

  2. 切换到 权重绘制模式

  3. 切换到 X 射线视图模式材质预览模式 以更好地可视化顶点。

  4. 在最接近骨骼的顶点上绘制影响。

  5. 完成后,按住 Shift 并点击另一个骨骼以开始对最接近的顶点应用影响。对每个眼睑骨骼执行此步骤。

  6. 切换到 对象模式,选择角色网格,然后切换到 姿势模式 进行测试。

您可以下载 此项目的一个版本,其中骨骼已皮肤到此为止,作为参考。

添加控制

由于创建头部需要连续保存多个姿势,虽然不是必需的,但控制可以帮助您快速有效地摆姿。您可以通过添加外部控制器骨骼来创建控制,这些骨骼影响内部骨骼,使其更容易访问和摆姿,并重置为中性变换。

您可以通过多种不同方式创建控制。以下示例使用 骨骼约束 和参考 Blender 项目中包含的简单几何形状,快速设置易于访问的控制器骨骼以控制角色的面部骨骼。有关绑定和约束的更多信息,请参见 Blender 的文档以获取有关 角色绑定对象约束 的详细信息。

要开始创建面部骨骼控制:

  1. 对象模式 中,选择关节骨架并按 ShiftD 复制关节骨架对象。
  2. 将新骨架重命名为 Controller
  3. 编辑模式 中,选择所有非面部骨骼,右键单击并选择 删除选定骨骼
  4. 将骨骼重命名为包含 _Con,以标识它们为控制器骨骼。您可以使用以下过程批量重命名它们:
    1. 大纲 中,按住 Shift 并点击所有控制器骨骼。
    2. 导航到 编辑 > 批量重命名。将显示重命名模态。
    3. 设置为 选定,并使用下拉菜单设置为 骨骼
    4. 类型 设置为 设置名称
    5. 方法 设置为 后缀
    6. 名称 中,添加 _Con
    7. 点击 确定 按钮。
  5. 切换到 对象模式 并选择原始 关节骨架 对象。
  6. 切换到 姿势模式
  7. 点击原始关节骨骼,例如 LeftEye,然后导航到 骨骼约束属性面板
  8. 添加 复制位置复制旋转,然后将每个原始骨骼的约束设置为目标其对应的控制器骨骼,例如 LeftEye_Con
  9. 复制旋转 约束中,设置以下属性:
    1. 中,禁用 XYZ
    2. 反向轴 中,启用 XYZ
    3. 混合 设置为 偏移(遗留)。
  10. 对每个需要控制器的面部骨骼执行步骤 7-9。

要为更容易访问控制骨骼创建自定义骨骼形状:

  1. 切换到 对象模式 并选择 Controller 骨架对象。

  2. 切换到 姿势模式

  3. 选择一个控制器骨骼,例如 LeftEye_Con

  4. 切换到 骨骼属性 面板并展开 视口显示 部分。

  5. 选择项目中包含的自定义形状之一。在参考项目中,形状对象与面部骨骼共享类似名称。

  6. X 旋转设置为 -90。根据需要设置任何额外的缩放。

  7. 对所有控制器骨骼执行步骤 3-6。此时,您可以隐藏原始面部骨骼。

  8. 可选
    设置 骨骼组 为您的控制骨骼分配颜色:

    1. 导航到 对象数据属性 面板。

    2. 创建一个新的骨骼组。

    3. 颜色集 更改为您选择的颜色主题。

    4. 点击 分配 以将当前选定的控制器分配该颜色。您可以批量执行此步骤。

  9. 姿势模式 中测试您的控制器。

摆姿

摆姿 是将头部网格的骨骼操纵到每个动画帧特定位置的过程。在模型的头部完成绑定后,您可以开始将姿势保存到时间轴的过程。这些数据使 Studio 能够访问每个面部动作并动画或混合面部姿势以创建动态表情。

在将角色的头部网格的骨骼摆姿到新位置时,请遵循 面部动作编码系统 (FACS) 作为面部表情姿势的参考。FACS 是一个全面的、基于解剖学的系统,用于描述所有可视可辨的面部运动,它允许所有面部动画在角色之间共享。这意味着一旦您创建了面部动画,您可以将其重用于任何具有 可动画头部 的角色,且该角色具有 FaceControls 实例。

您建模软件的动画时间轴中的每一帧可以包含一个独特的 FACS 姿势,因此当您想要创建多个 FACS 姿势时,必须将每个 FACS 姿势保存到不同的帧。您还必须包括一帧,角色的面部处于中性状态,面部控制器和骨骼设置为其默认值。这确保 Studio 可以计算角色的中性表情与每个 FACS 姿势之间的骨骼位置差异。因此,将帧 0 设置为角色的中性表情,并从帧 1 开始保存 FACS 姿势。

以下图像是 Blender 动画时间轴的示例,包含 5 帧。帧 0 具有角色的中性表情,帧 1-4 具有 FACS 姿势数据。

在 Roblox 中,您可以使用 50 个基础姿势 来表现角色的广泛面部情感。当您决定需要哪些姿势时,请记住 FACS 姿势名称始终基于角色的方向,而不是相机。例如,LeftEyeClosed 关闭角色的左眼,而左眼在相机视图的右侧。

您可能不需要角色的所有 50 个基础姿势。例如,一个简单的机器人打开嘴巴并眨眼,只需 JawDropLeftEyeClosedRightEyeClosed。因此,您希望角色表现得越生动,您需要在动画时间轴中包含的 FACS 姿势就越多。建议按字母顺序保存您打算与头部一起使用的基础姿势,然后在之后使用任何帧进行 组合姿势

以下步骤概述了使用我们参考中创建的面部骨骼摆姿 5 个姿势的过程,但您可以将这些步骤应用于任何额外的姿势,以获得更具表现力的头部。要在 Blender 中摆姿您的面部骨骼:

  1. 确保动画时间轴的播放头设置为正确的帧。

    1. 如果您设置角色的 中性姿势,请将其设置为 帧 0
    2. 如果您摆姿 EyesLookLeft,请将其设置为 帧 1
    3. 如果您摆姿 EyesLookRight,请将其设置为 帧 2
    4. 如果您摆姿 LeftEyeClosed,请将其设置为 帧 3
    5. 如果您摆姿 RightEyeClosed,请将其设置为 帧 4
  2. 姿势模式 中,将姿势设置为您希望姿势实际使用的最大位置:

    1. 如果您设置角色的 中性 姿势,请将面部控制器和骨骼设置为其默认值,
    2. 如果您摆姿 EyesLookLeft,选择两个眼睛控制器骨骼并将眼睛拖到角色的左侧。
    3. 如果您摆姿 EyesLookRight,选择两个眼睛控制器骨骼并将眼睛拖到角色的右侧。
    4. 如果您摆姿 LeftEyeClosed,选择两个眼睛控制器骨骼并将左眼睑向下拖动以与下眼睑相接。
    5. 如果您摆姿 RightEyeClosed,选择两个眼睛控制器骨骼并将右眼睑向下拖动以与下眼睑相接。
  3. 视口 中,按 A 选择所有骨骼。

  4. 右键单击并选择 插入关键帧 > 位置和旋转。这确保每帧包含所有骨骼的位置信息和旋转信息。

当所有姿势都保存在您的时间轴中时,将动画时间轴的开始和结束设置为表示保存姿势的帧数。始终将 开始 设置为 0,在这个特定示例中,如果您仅映射 4 个非中性示例姿势,则可以将 结束 设置为 4

组合姿势

您可以在单个动画帧中组合 2-3 个基础 FACS 姿势,以显示复杂的面部表情。然而,当您组合控制 相同 面部区域的 FACS 姿势时,面部特征可能会相互碰撞或变形。

例如,LeftEyeClosedLeftCheekRaiser 都控制角色左眼周围的运动:LeftEyeClosed 关闭眼睛,而 LeftCheekRaiser 提升脸颊并推动下眼睑向上,造成眯眼效果。当您将这两个姿势与一个或多个以 100% 的值组合时,下眼睑会与上眼睑碰撞:

两个 FACS 姿势同时缓和到其默认值的 100%。
LeftEyeClosed 缓和到其默认值的 100%,而 LeftCheekRaiser 从 100% 开始。
LeftCheekRaiser 缓和到其默认值的 100%,而 LeftEyeClosed 从 100% 开始。

组合姿势,或 修正姿势,是 2-3 个 FACS 姿势的组合,这些姿势在单个动画帧中控制相同的面部特征,并与 其默认值的 100% 之间存在修正差异。通过定义和映射组合姿势到您的头部,您可以修正您希望两个或多个 FACS 姿势如何组合。例如,如果您为每个先前的用例添加修正,则下眼睑和上眼睑可以相互接触而不发生碰撞:

使用修正姿势,两个 FACS 姿势同时缓和到其默认值的 100%。
LeftEyeClosed 缓和到其默认值的 100%,而 LeftCheekRaiser 从 100% 开始。
LeftCheekRaiser 缓和到其默认值的 100%,而 LeftEyeClosed 从 100% 开始。

在导入时,Studio 计算并存储组合姿势的修正差异在头部的 FaceControls 实例中,并且 FaceControls 实例在 动画编辑器 中组合时修正基础姿势值。

映射

在您完成为角色所需的每个 FACS 姿势摆姿后,您必须映射或链接 每个您摆姿的动画帧 到其对应的 FACS 基础或组合姿势名称。映射将骨骼位置和变换存储在头部的 MeshPart 中,当您开始在 动画编辑器 中动画化您的头部时,FaceControls 实例使用此存储的数据来转换角色的面部特征到适用的 FACS 姿势。

除了将每个姿势映射到其正确的姿势名称外,您还需要映射 RootFaceJoint,以便 Studio 能够正确定位该关节并在导入时隐藏 FaceControls 实例中的所有子关节及其骨骼。

要映射您保存的姿势和 RootFaceJoint:

  1. 切换到 对象模式

  2. 选择 Head_Geo 网格

  3. 属性编辑器对象属性 选项卡中,导航到 自定义属性 部分,然后点击 新建 按钮。一个新的自定义属性显示在 新建 按钮下方。

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

  5. 点击 类型 下拉菜单,然后选择 字符串

  6. 属性名称 字段:

    1. 如果您正在映射一个姿势,请输入您正在映射的 帧编号,例如 Frame0
    2. 如果您正在映射 RootFaceJoint,请输入 RootFaceJoint
  7. 保持 默认值描述 字段为空。

  8. 点击 确定 按钮。新的自定义属性将更新为您的新属性名称。

  9. 在自定义属性名称右侧的字段中:

    1. 如果您正在映射基础姿势,请准确输入相应的 FACS 基础姿势 或组合姿势名称。
    2. 如果您正在映射组合姿势,请输入您组合的每个基础姿势,用下划线分隔,例如 Funneler_JawDrop_Pucker
    3. 如果您正在映射 RootFaceJoint,请输入面部根骨骼的名称,通常为 DynamicHead
  10. Enter

当您重复此过程时,您创建的每个附加自定义属性都会显示在 属性编辑器对象属性 选项卡中的 自定义属性 部分。

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

导出

在您完成为角色摆姿和映射头部后,您可以将角色模型导出为 .fbx 以导入到 Studio,从而允许您使用 FaceControls 实例访问 4 个眼睛姿势。您还可以参考完全配置的 Cubie 头部 .fbx 以访问所有 50+ 个基础姿势。

可动画头部的导出设置与 标准第三方建模导出设置 略有不同。要将基本头部模型导出为 .fbx

  1. 在顶部栏中,点击 文件。将显示弹出菜单。
  2. 选择 导出,然后选择 FBX (.fbx)。将显示 Blender 文件视图 窗口。
  3. 展开 包含 并启用 限制到 > 活动集合。请注意,如果您在 Blender 项目中没有其他集合,此步骤是可选的。
  4. 包含 部分,启用 自定义属性
  5. 展开 骨架 部分并取消选中 添加叶骨
  6. 启用 烘焙动画
  7. 展开 烘焙动画 并取消选中 NLA 条带所有动作强制开始/结束关键帧
  8. 点击 导出 FBX 按钮。将 FBX 保存到您选择的目录。

此时,您可以将 .fbx 导入到 Studio 作为具有支持的可动画头部的角色。有关模型导入和使用说明,请参见 在 Studio 中测试头部

©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。