使用 Blender 和装备 (Rigify)

现在,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. 确保所有骨骼处于正确位置,并无错误。
    \\

Page last updated: 2013-06-30