创建基本头

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

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

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

参考文件

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

参考文件描述
仅限于Cubie-Model-Only.blend一个包含无面部数据的 R15 Cubie 角色模型的 Blender 项目文件。
小熊眼骨皮肤.blend一个包含例子 кубический персонаж模型的混合器项目文件,含有无姿势或映射数据的皮肤眼骨。
小熊眼姿映射.blend包含 5 个示例姿势的 Cubie 角色模型的搅拌机项目文件
小熊-完整.fbx一个带有完全配置面部和超过 50 个姿势的 Cubie 角色模型,已保存并映射。您可以将此文件导入工作室,或在您喜欢的 3D 建模软件中打开文件。
小熊-纹理_ALB.png一个 Cubie 纹理图像文件。导入 Cubie 模型到 Studio 后,您可以将此文件添加为头部部分的 纹理ID
Cubie-完整.ma作为额外参考提供的 Cubie Maya 项目。

模型要求

许多角色模型已经包含具有明显面部特征的头部,但它们可能需要调整头部兼容性的小变化。当模型一个角色带有头部时,确保头部网格满足 Studio 导入的 虚拟形象角色规格 以及以下要求:

  • 面部部件 - 确保您包含独特的面部特征,例如眼睛、上颌牙、下颌牙和舌头。
  • 唇角 - 如果你想让你的角色使用嘴巴,请将唇角分开,以便嘴巴能够打开。
  • 内部组件 - 如果你的角色有内部嘴部组件,例如舌头和牙齿,模型头部网格内的一个嘴袋来容纳这些功能。如果你的角色使用眼窝,模型一个类似的眼袋来容纳这些功能。
  • 没有额外数据 - 确保所有子部件的头部_地理不包含历史或冻结变形。
  • 外部笼子 - 请确保角色模型具有外部笼子来支持面部配件和分层服装。了解更多信息,请参阅笼子网格要求

您可以使用满足这些模型要求的 配备 Cubie 角色 沿着这个头部创建过程的其余部分。本版本不包含任何面部绑定或姿势数据,因此您可以在此指南中使用它作为参考。

装配

您的角色必须有内部骨架来驱动面部几何图形的顶点并做出面部姿势。与 搭配一个人形模型 不同,Studio 对头部的骨架结构并不需要特定的骨架层次。然而,为了使面部骨架正常工作,骨架必须包含 RootFaceJoint 骨和 额外面骨

根脸关节

根面关节 是在标准 R15 头骨下被继承的骨头。这个根骨必须支持所有其他面骨。在 Blender 中,您可以快速添加骨头通过 抽取 从头骨中的儿童骨头,然后将骨头名称映射为头部地图的属性在 Head_Geo 网格中。根面关节骨对象在参考模板和例子中通常被命名为“动态头”,但只要你在自定义属性中映射根骨,就可以使用任何名称。

要添加根面关节骨:

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

  2. 单击任何骨头以选择护甲,然后切换到 编辑模式

  3. 轮廓画家 中,单击 头骨

  4. 视窗 中,按 E 并拖动鼠标向上以从 头骨 骨中抽出额外的子骨。

  5. 出线者 中,重命名此骨 动态头 。你将在 映射 部分稍后引用此骨。

面部骨头

面部骨骼驱动面部几何的弯曲和变形。你头部的每个可放置的面功能通常需要至少一块骨头。眼睛和嘴巴等复杂功能可能需要多个骨头才能实现特定姿势。

装配和皮肤过程取决于角色模型,并且在工具和模型之间存在差异。计划好角色需要的全部面部姿势是避免稍后对头骨进行额外调整的关键。

以下说明描述了添加面骨去皮的基本过程,或应用影响,对参考模型的 眼睛眼睛 进行影响。您可以继续将此技术应用于需要说明的其他面部特征,例如角色的嘴、脸颊和下颌。添加完骨头并应用影响后,您可以创建 控件,可以帮助使下一步的姿势过程更高效。

添加面部骨头

你角色需要的特定头骨取决于你打算使用的姿势。以下示例涵盖添加每个眼睛 1 骨和眼部 4 骨的过程,以便允许眨眼、眨眼和凝视方向。

当创建面部骨架时,尽可能使用少于 50 个面骨,并确保骨头有序且具有与其相关的面部特征。一般来说,高数量的边和节点可能会影响您的体验性能。

眼睛

每只眼睛都需要一块骨头,虽然你可能会选择稍后创建一个控制器骨头,可以同时控制两只眼睛。为了确保你将骨头对称地位置,你可以在视窗右上角启用 X轴镜 。这会移动共享相同名称的骨头,沿 X 轴移动对立的后缀。

要将骨头添加到角色眼睛:

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

  2. 点击 添加 ,然后 单骨 。做这个两次。

  3. 重命名一个骨头 左眼 , 并重命名另一个 右眼 .

  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. Shift D 并单击以在同一位置复制骨头。做这四次以创建总计8个新骨头。

  3. 启用 X 轴镜 ,将每个骨头放置在眼睛的角落上。

  4. 轮廓画家 中,将所有骨头重命名,反映其特定位置。使用以下名称:

    1. 左上外眼皮
    2. 右上外眼皮
    3. 左下外眼皮
    4. 右下外眼皮
    5. 左上内眼皮
    6. 右上内眼皮
    7. 左下内眼皮
    8. 右下内眼皮

皮肤面骨

您可以使用多种方法对角色模型应用皮肤。以下示例使用 Blender 的 重量油漆 模式来绘制单个骨头可以控制的边缘。皮肤通常是复杂角色消耗时间的步骤,建议进行皮肤和面部姿势的背景。

当应用详细或共享影响对复杂模型时,建议启用自动正常化以防骨之间的影响冲突。

眼睛

示例项目中的两个眼睛都需要在眼睛几何内对瞳孔产生全面影响。根据眼睛的设计,你可能需要调整影响来创建真实的眼睛姿势。

要向左眼添加影响:

  1. 对象模式 中,单击头部网格,然后按住 Shift 并单击任何骨头来选择护甲。

  2. 切换到 重量油漆模式

  3. 切换到 X射线查看模式材料预览模式 以更好地显示顶点。

  4. 按住 Shift 并单击左眼骨头 **** 以选择它。当前选择的骨头名称显示在视窗左上角。

  5. 确保眼睛内的顶点上的颜料影响。对于这个例子,确保瞳孔是红色的,或完全受到选定的骨头的影响。

  6. 切换到 对象模式 ,然后单击任何骨头以选择护甲。

  7. 切换到 姿势模式 ,选择了护甲。

  8. 通过抓住骨头并将其移动来测试眼睛骨的影响。下面的网格应该跟关注。

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

眼睛睫毛

眼睛骨需要自己的分离影响。虽然示例只能操纵上眼皮,但能够控制眼皮的底角是其他姿势的重要组成部分,例如 LeftCheekRaiserRightCheekRaiser

要向左眼皮添加影响:

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

  2. 切换到 重量油漆模式

  3. 切换到 X射线查看模式材料预览模式 以更好地显示边界。

  4. 对骨头最近的边缘施加油漆影响。

  5. 完成后,按住 Shift 并单击另一个骨头开始应用影响到最近的边缘。对每个眼睛骨头进行此步骤。

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

您可以下载这个项目的版本,包括到这一点为止暴露的骨头作为参考。

添加控控制

由于创建头需要连续保存多个姿势,虽然不需要,但控件可以帮助你快速有效地姿势你的骨头。您可以通过添加外部控制器骨来影响内部控制器骨来创建控件,从而使更容易访问和呈现以及重置为中立变形。

您可以采用多种方式创建控件。以下示例使用 骨约束 和包含在参考 Blender 项目中的简单几何形状来快速设置角色面部骨的控制器骨。了解有关装备和约束的更多信息,请参阅 Blender 的文档,获得有关 角色装备对象约束 的额外细节。

要开始创建面骨控控制:

  1. 在 对象模式 中,选择连接梁支架并按 复制连接梁支架对象。
  2. 将新的护甲重命名为 控制器
  3. 编辑模式 中,选择所有非面骨,右击并选择 删除选定骨头
  4. 将骨头重命名以包含 _Con ,将它们标记为控制器骨头。您可以通过以下过程批量重命名它们:
    1. 轮廓画家 中,按住 Shift 并单击所有控制器骨头。
    2. 导航到 编辑 > 批量重命名 。显示一个重命名模态。
    3. 设置为 已选择 并使用下拉列表设置为 骨头
    4. 类型 设置为 设置名称
    5. 方法 设置为 后缀
    6. 名称 中,添加 _Con
    7. 点击 OK 按钮。
  5. 切换到 对象模式 并选择原始 节点骨架 对象。
  6. 切换到 姿势模式
  7. 点击原始关节骨,例如 左眼 ,然后导航到 骨约束属性面板
  8. 添加 复制位置复制旋转 ,然后将每个原始骨的约束设置为目标相应的控制器骨,例如 LeftEye_Con
  9. 复制旋转 约束中,设置以下属性:
    1. 中,禁用 XYZ
    2. 反向轴 中,启用 XYZ
    3. 混合 设置为 抵消 (遗产)。
  10. 为每个需要控制器的面部骨头执行步骤 7-9。

要创建自定义骨形状,以便更轻松地控制骨访问权1) 使用权 2)通行证 3)访问权限:

  1. 切换到 对象模式 并选择 控制器 骨架对象。

  2. 切换到 姿势模式

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

  4. 切换到 骨质属性 面板,扩展 视窗显示 部分。

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

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

  7. 执行步骤 3-6 对所有控制器骨。你可以在这一点隐藏原始面骨。

  8. (可选)设置 骨群 以分配颜色给你的控制器骨头:

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

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

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

    4. 单击 分配 以分配当前选择的控制器该颜色。你可以在批量中执行此步骤。

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

姿势

姿势 是将你头部网格的骨骼操纵到特定位置的每个动画帧。在模型的头部被固定之后,您可以开始将姿势保存到时间线的过程。这些数据可以让工作室访问每个面部运动,并动画或融合面部姿势来创建动态表达。

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

你的模型软件动画时间线内的每个框架都可以包含一个独特的 FACS 姿势,因此当你想创建多个 FACS 姿势时,你必须将每个 FACS 姿势保存到不同的框架中。您还必须包含一个框架,其中包含具有中立面的角色和面控制器和骨设置为其默认值的骨。这可以确保 Studio 可以计算角色中立表达和每个 FACS 姿势之间的骨位差异。因此,将框架 0 设为角色的中立表达,并保存 FACS 姿势从框架 1 开始。

以下图像是 Blender 的动画时间线的示例,包含 5 个帧。框架 0 拥有角色的中立表达,框架 1-4 拥有 FACS 姿势数据。

Roblox 中有 50 个基础姿势 可供你使用,用于描绘角色的各种面部情绪。当你决定需要哪些姿势时,请记住,FACS姿势名称始终基于角色的方向,而不是镜头。例如, LeftEyeClosed 关闭角色的左眼,这是相机查看图的右侧。

你可能不需要为你的角色所有 50 个基本姿势。例如,打开嘴巴并闪烁的简单机器人只能有 JawDrop , LeftEyeClosed , 和 RightEyeClosed .因此,你想让你的角色更具表达性,你需要包含的 FACS 姿势就越多,你的动画时间线就越长。建议将你打算用头部使用的基础姿势保存在按字母顺序,然后使用任何框架后为组合姿势进行组合。

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

  1. 确保动画时间线播放头设置为正确的框架。

    1. 如果你正在设置角色的 中立姿势 ,将其设置为 框架0
    2. 如果你正在摆姿势 EyesLookLeft , 将其设置为 框架 1 .
    3. 如果你正在摆姿势 EyesLookRight , 将其设置为 框架 2 .
    4. 如果你正在摆姿势 LeftEyeClosed , 将其设置为 框架 3。 5. 如果你正在摆姿势 RightEyeClosed , 将其设置为 框架 4 .
  2. 姿势模式 中,将姿势设置为你想让姿势真实使用的最大位置:

    1. 如果你正在设置角色的 Neutral 姿势,将面控制器和骨骼设置为默认值,
    2. 如果你正在摆姿势 EyesLookLeft , 选择眼控制器骨头和拖动眼睛到角色的左侧。
    3. 如果你正在摆姿势 EyesLookRight , 选择眼控制器骨头和拖动眼睛到角色的右侧。
    4. 如果你正在摆姿势 LeftEyeClosed , 选择眼控制器骨头和拖动左眼睛向下以满足下眼睛。
    5. 如果你正在摆姿势 RightEyeClosed , 选择眼控制器骨头和拖动右眼睛向下满足下眼睛。
  3. 视窗 中,按 A 选择所有骨头。

  4. 右击并选择 插入关键帧 > 位置和旋转 。这保证每个框架包含所有骨头的位置和旋转信息。

当所有姿势都保存到时间线中时,设置动画时间线的开始和结束来代表保存的姿势数量。始终将 开始 设置为 0 ,在这个特定例子中,如果只映射 4 非中立示例姿势,您可以将 结束 设置为 4

组合姿势

您可以在单个动画框中结合 2-3 个基础 FACS 姿势来显示复杂的面部表情。然而,当你结合控制 相同 面部区域的 FACS 姿势时,面部特征可能会碰撞或损毁角色。

例如, both LeftEyeClosedLeftCheekRaiser 控制移动在角色左眼周围:LeftEyeClosed 关闭眼睛,而 LeftCheekRaiser 举起下巴并向上推动下眼皮,导致类似于斜视的效果。当您将两个姿势结合在其价值的 100% 时,较低的眼睛与较高的眼睛碰撞:

两个 FACS 同时易于达到其默认值的 100%。
>

左眼关闭降至默认值的 100%,左颊提升器从 100% 开始。
>

左颊升高器降至其默认值的 100%,左眼闭闭开始于 100%。
>

一个 组合姿势 ,或 纠正 ,是由 2-3 个 FACS 姿势组成的,控制相同面部特征的单个动画框架与其默认值的 100% 差异的纠正。通过定义并映射一个组合姿势到你的头部,你可以正确地确认你希望两个或更多 FACS 姿势结合的方式。例如,如果你为每个以前的使用案例添加修正,那么下眼睛和上眼睛之间就可以无碰撞地接触:

使用纠正姿势,两个 FACS 姿势同时降低到默认值的 100%。

左眼关闭降至默认值的 100%,左颊提升器从 100% 开始。
>

左颊升高器降至其默认值的 100%,左眼闭闭开始于 100%。
>

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

地图

在您完成角色需要的每个 FACS 姿势后,您必须关联每个姿势的 每个动画帧映射到或链接到对应的 FACS 基地或组合姿势名称 。映射将头内的骨位置和翻译存储在头内MeshPart ,当你开始在动画编辑器内动画你的头时,FaceControls实例使用这些存储的数据来转换你角色的面部特征到适用的FACS姿势。

除了将每个姿势映射到其正确的姿势名称外,你还需要映射 根面关节 以便 Studio 可以正确找到该关节并隐藏所有子关节和其骨头在导入时的 FaceControls 实例内。

要映射您保存的姿势和根脸关节:

  1. 切换到 对象模式

  2. 选择 头部地理网格

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

  4. 到新自定义属性右侧,单击 装备图标 。显示 编辑属性 弹出窗口。

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

  6. 属性名称 字段中:

    1. 如果你正在映射姿势,输入你正在映射的 框架号 ,例如 Frame0
    2. 如果你正在映射根面关节,输入 根面关节
  7. 保留 默认值描述 字段为空。

  8. 点击 确定 按钮。新的自定义属性与您的新属性名称一起更新。

  9. 在自定义属性名称右侧的领域:

    1. 如果你正在映射基础姿势,请输入相应的 FACS 基础姿势 或组合姿势名称,与它相同地输入。
    2. 如果你正在映射组合姿势,输入每个基础姿势,你将分开输入由撇号分开的姿势,例如 Funneler_JawDrop_Pucker
    3. 如果你正在映射根脸关节,输入面根骨的名称,通常为 动态头
  10. 输入

当你重复这个过程时,你创建的每个额外的自定义属性都会显示在 自定义属性 选项卡中的 对象属性 标签内。

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

导出

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

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

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

在这一点上,你现在可以将 .fbx 导入工作室作为支持动画头的角色有关模型导入和使用说明,请参阅在工作室中使用头