返回介绍

使用 Blender 和装备 (Rigify)

发布于 2021-06-19 18:03:21 字数 4994 浏览 1246 评论 0 收藏 0

现在,Blender 带有一个名为装备 (Rigify) 的附加组件,为模型提供 一个可使用 Mecanim 的 biped 绑定工具。这对游戏开发新手和玩票性质的游戏开发人员来说非常有用。

本指南讲述了如何用装备 (Rigify) 绑定三维模型并导入 Unity 4 的 Mecanim 中。装备 (Rigify) 生成一个完整的模型绑定。将骨架作为模板,就能使其进入类人角色的简单绑定。应从 Blender 中启动装备 (Rigify) 开始,以便可以使用其功能。之后,导入三维模型并开始正确设置模型和骨架,避免以后出现任何问题。所有项设置完毕后,可放置骨骼并生成主绑定。最复杂的部分是采用网格为想要用到的骨骼蒙皮,并确保正确父子化。最后(进行一些测试和修饰之后),可将其导入 Unity。

以下为所需工具:

启用装备 (Rigify)

首先要确保装备 (Rigify) 附加组件已安装并在 Blender 中启用:

  1. 转到文件 (File) > 用户首选项> (User preferences)。
  2. 选择附加组件 (Addons) 选项卡,滚动至底部并单击“装备 (Rigify)” 旁的复选框。
  3. 单击“保存为默认值 (Save as default)”。

这会激活附加组件,允许点击所需按钮并使用所需功能。将其设置为默认值会在以后的工程中都包含它。

设置骨架

抓取一个装备 (Rigify) 用作模板的基本人形绑定。该绑定是很基本的,但其允许装备 (Rigify) 在相关的骨骼位置创建装备本身。

  1. 转到添加 (Add) > 骨架(人体)(Armature (Human))。
  2. 确保骨架和模型的中心都为 0,0,0。
  3. 如果缩放或移动模型,确保重置骨架和模型的比例和/或转换值。
  4. 转到编辑模式 (Edit Mode)(按 Tab 键)。
  5. 开始在模型的相应位置放置骨骼。
  6. 使用“X 射线 (X-Ray)”,允许自己看到整个模型中的骨骼。
  7. 完成后立即返回到对象模式。
  8. 将骨架移到一边,腾出空间。

(如果使用 Make Human,您可能想将许多不同的网格加入到一个完整的网格中。选择所有网格并按 CTRL + J 进行操作)

生成绑定

  1. 选定骨架时,单击最右边的对象数据 (Object data) 选项卡。
  2. 在“装备按钮 (Rigify Buttons)” 下单击生成 (Generate)。
  3. 切换到姿势 (Pose) 模式并执行下列操作:
  4. 按 (A) 键选择绑定后按 (H) 键隐藏不需要的层。
  5. 按住 Shift 并单击下面的骨架 (Armature) 层。 将显示变形骨骼,变形骨骼需要蒙皮和给网格重量着色。

删除 WGT 骨骼

您会注意到场景层级视图的右上角有许多 WGT 骨骼。

所有这些骨骼不会给网格蒙皮或使用。须要将其删除,避免 Unity 工程中出现未分配的网格。右击骨骼选择“删除 (Delete)”。对场景中的每个 WGT 骨骼都执行以上操作。

模型蒙皮绑定

  1. 给模型中的变形骨骼蒙皮。 开始前,确保处于对象模式并选择网格,然后按住 Shift 选择绑定,按 Ctrl + P 键选择骨架变形 (Armature deform) > 带自动权重 (With Automatic weights)。
    这会指定网格给创建顶点组的骨骼,蒙皮过程中将用到。
    (如果不太了解 blender 中的蒙皮过程,请单击此处浏览教程。)
    注意:变形骨骼的上下肢将使用两种骨骼。请勿给第二种骨骼蒙皮并确保重新父子化,使 Mecanim 正确链接它们。
  2. 用 "DEF-shoulder.R" + "DEF-shoulder.L" 为双肩 (Shoulders) 蒙皮,确保其父对象为 “ORG-ribs”
  3. 用 "DEF-upper_arm.R.01" + "DEF-upper_arm.L.01" 给上臂 (Upper) 蒙皮,确保其父对象对应为 "DEF-shoulder.R" 或 "DEF-shoulder.L"。
  4. 用 "DEF-forearm.R.01" + "DEF-forearm.L.01" 给前臂蒙皮,确保其父对象对应为 "DEF-upper_arm.R.01" 或 "DEF-upper_arm.L.01"。
  5. 用 DEF-thigh.R.01 + DEF-thigh.L.01 为大腿蒙皮,确保其父骨骼为 "ORG-hips"。
  6. 用 DEF-shin.R.01 + DEF-shin.L.01 为胫骨蒙皮,确保其父对象对应为 "DEF-thigh.R.01" 或 "DEF-thigh.L.01" 将提供 骨骼蒙皮的绑定,整个骨架中无 X。其他骨骼不应蒙皮! 对双手执行相同操作,并记住 Mecanim 会为每根手指和大拇指提供 手骨和三个骨节。这就意味着给模型双手的骨骼蒙皮而之间无交叉,如下图所示。
  7. 同样,双手必须为正确骨骼的子对象。用 "DEF-hand.R" + "DEF-hand.L" 为双手蒙皮,确保其父对象对应为 "DEF-forearm.R.01" 或 "DEF-forearm.L.01"。 大拇指和每根手指将使用下列对象(以左手为例):
    • 大拇指:"DEF-thumb.01.L.02", "DEF-thumb.02.L", "DEF-thumb.03.L"
    • 食指:"DEF-finger_index.01.L.02", "DEF-finger_index.02.L", "DEF-finger_index.03.L"
    • 中指:"DEF-finger_middle.01.L.02", "DEF-finger_middle.02.L", "DEF-finger_middle.03.L"
    • 无名指:"DEF-finger_ring.01.L.02", "DEF-finger_ring.02.L", "DEF-finger_ring.03.L"
    • 小指:"DEF-finger_pinky.01.L.02", "DEF-finger_pinky.02.L", "DEF-finger_pinky.03.L"
    记住,每根指骨应始终是最后一根的子对象,第一根骨头是手指的子对象,为 Mecanim 提供 完整链接供处理。

导出和导入

将模型导出为 .fbx 并放到各工程的文件夹下。文件 (file) > 导出 ( Export) > AutoDesk FBX (.fbx) > 导出 > (Export)。完成后就可以导入到 Unity 中并链接至 Mecanim。

  1. 打开 Unity 4 并新建名为“装备测试 (Rigify Test)” 的工程。打开工程后,将模型拖放到工程窗口中。
  2. 在工程窗口中选择模型的预设并在检视器中单击绑定 (Rig)。将动画类型 (Animation Type) 改为人体 (Humanoid) 并单击配置 (Configure)。 现在所有骨骼都应正确链接到了 Mecanim。
  3. 确保所有骨骼处于正确位置,并无错误。 \\

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文