使用 Blender 和装备 (Rigify)
现在,Blender 带有一个名为装备 (Rigify) 的附加组件,为模型提供 一个可使用 Mecanim 的 biped 绑定工具。这对游戏开发新手和玩票性质的游戏开发人员来说非常有用。
本指南讲述了如何用装备 (Rigify) 绑定三维模型并导入 Unity 4 的 Mecanim 中。装备 (Rigify) 生成一个完整的模型绑定。将骨架作为模板,就能使其进入类人角色的简单绑定。应从 Blender 中启动装备 (Rigify) 开始,以便可以使用其功能。之后,导入三维模型并开始正确设置模型和骨架,避免以后出现任何问题。所有项设置完毕后,可放置骨骼并生成主绑定。最复杂的部分是采用网格为想要用到的骨骼蒙皮,并确保正确父子化。最后(进行一些测试和修饰之后),可将其导入 Unity。
以下为所需工具:
Unity 4.x
Blender 2.64
三维人体模型 (3D Humanoid Model)(如果建模时需要帮助,MakeHuman 会非常有用)。
启用装备 (Rigify)
首先要确保装备 (Rigify) 附加组件已安装并在 Blender 中启用:
转到文件 (File) > 用户首选项> (User preferences)。
选择附加组件 (Addons) 选项卡,滚动至底部并单击“装备 (Rigify)” 旁的复选框。
单击“保存为默认值 (Save as default)”。
这会激活附加组件,允许点击所需按钮并使用所需功能。将其设置为默认值会在以后的工程中都包含它。
设置骨架
抓取一个装备 (Rigify) 用作模板的基本人形绑定。该绑定是很基本的,但其允许装备 (Rigify) 在相关的骨骼位置创建装备本身。
转到添加 (Add) > 骨架(人体)(Armature (Human))。
确保骨架和模型的中心都为 0,0,0。
如果缩放或移动模型,确保重置骨架和模型的比例和/或转换值。
转到编辑模式 (Edit Mode)(按 Tab 键)。
开始在模型的相应位置放置骨骼。
使用“X 射线 (X-Ray)”,允许自己看到整个模型中的骨骼。
完成后立即返回到对象模式。
将骨架移到一边,腾出空间。
(如果使用 Make Human,您可能想将许多不同的网格加入到一个完整的网格中。选择所有网格并按 CTRL + J 进行操作)
生成绑定
选定骨架时,单击最右边的对象数据 (Object data) 选项卡。
在“装备按钮 (Rigify Buttons)” 下单击生成 (Generate)。
切换到姿势 (Pose) 模式并执行下列操作:
按 (A) 键选择绑定后按 (H) 键隐藏不需要的层。
按住 Shift 并单击下面的骨架 (Armature) 层。
将显示变形骨骼,变形骨骼需要蒙皮和给网格重量着色。
删除 WGT 骨骼
您会注意到场景层级视图的右上角有许多 WGT 骨骼。

所有这些骨骼不会给网格蒙皮或使用。须要将其删除,避免 Unity 工程中出现未分配的网格。右击骨骼选择“删除 (Delete)”。对场景中的每个 WGT 骨骼都执行以上操作。
模型蒙皮绑定
给模型中的变形骨骼蒙皮。
开始前,确保处于对象模式并选择网格,然后按住 Shift 选择绑定,按 Ctrl + P 键选择骨架变形 (Armature deform) > 带自动权重 (With Automatic weights)。
这会指定网格给创建顶点组的骨骼,蒙皮过程中将用到。
(如果不太了解 blender 中的蒙皮过程,请单击此处浏览教程。)
注意:变形骨骼的上下肢将使用两种骨骼。请勿给第二种骨骼蒙皮并确保重新父子化,使 Mecanim 正确链接它们。用 "DEF-shoulder.R" + "DEF-shoulder.L" 为双肩 (Shoulders) 蒙皮,确保其父对象为 “ORG-ribs”
用 "DEF-upper_arm.R.01" + "DEF-upper_arm.L.01" 给上臂 (Upper) 蒙皮,确保其父对象对应为 "DEF-shoulder.R" 或 "DEF-shoulder.L"。
用 "DEF-forearm.R.01" + "DEF-forearm.L.01" 给前臂蒙皮,确保其父对象对应为 "DEF-upper_arm.R.01" 或 "DEF-upper_arm.L.01"。
用 DEF-thigh.R.01 + DEF-thigh.L.01 为大腿蒙皮,确保其父骨骼为 "ORG-hips"。
用 DEF-shin.R.01 + DEF-shin.L.01 为胫骨蒙皮,确保其父对象对应为 "DEF-thigh.R.01" 或 "DEF-thigh.L.01"将提供 骨骼蒙皮的绑定,整个骨架中无 X。其他骨骼不应蒙皮!
对双手执行相同操作,并记住 Mecanim 会为每根手指和大拇指提供 手骨和三个骨节。这就意味着给模型双手的骨骼蒙皮而之间无交叉,如下图所示。同样,双手必须为正确骨骼的子对象。用 "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"
导出和导入
将模型导出为 .fbx 并放到各工程的文件夹下。文件 (file) > 导出 ( Export) > AutoDesk FBX (.fbx) > 导出 > (Export)。完成后就可以导入到 Unity 中并链接至 Mecanim。
打开 Unity 4 并新建名为“装备测试 (Rigify Test)” 的工程。打开工程后,将模型拖放到工程窗口中。
在工程窗口中选择模型的预设并在检视器中单击绑定 (Rig)。将动画类型 (Animation Type) 改为人体 (Humanoid) 并单击配置 (Configure)。
现在所有骨骼都应正确链接到了 Mecanim。确保所有骨骼处于正确位置,并无错误。