本教程介绍如何结合 ZBrush 与 Blender 制作人物表情动画(Shape Keys),包括建模、UV、颜色(Polypaint)、OBJ 导出,以及在 Blender 中建立形态键的完整流程。
本教程主要针对 ZBrush + Blender 的混合工作流程,而不仅仅是 Blender 单独制作 Shape Keys。
对于只使用 Blender 的用户来说,通常都会知道:所有用于 Shape Keys 的模型必须拥有完全相同的顶点数量、顶点顺序以及拓扑结构。
而当工作流程加入 ZBrush 时,还需要特别注意一些容易被忽略的细节,下面将按照制作流程进行说明。
第一部分:在 ZBrush 中完成建模
首先,在 ZBrush 中完成角色建模。模型需要满足以下几个条件:
拥有正确且最终确定的拓扑结构。
保留完整的 Subdivision Levels(细分等级)。
在最高细分级别完成 Polypaint(模型颜色)。
(这里的 Polypaint 主要用于之后导出 Texture,因此建议在最高细分等级完成所有上色工作)。
子工具(SubTools)的组织
角色中的不同部件,例如:
头发,牙齿,舌头,眼睛,眉毛
都可以作为独立的 SubTool 制作。
所有 SubTool 应保持一致的细分等级,并完成各自的颜色绘制。
(之后,在需要导出最终表情时,再根据需要将可见的 SubTool 合并导出)。
使用 Layers 制作表情
完成建模之后,在最高细分等级使用 Layers(图层)制作表情。
建议将头部拆分上下两个个独立部分,例如:
眉骨上半部分作为一个 Layer
嘴巴(上下嘴唇及口型)下半部分作为另一个 Layer
通过不同 Layer 的组合,可以快速得到更多、更丰富的表情变化,。
导出不同表情
当所有表情 Layer 制作完成后:
切换回所有 SubTool 的最低细分等级。
然后根据需要开启不同 Layer 的组合,并执行 Merge Visible,生成当前表情对应的新 SubTool。
例如:
微笑,生气,惊讶,闭眼...
每一种组合都生成一个新的 SubTool,并分别导出 OBJ。
眼睛可以继续保持独立 SubTool,不需要合并到头部。
这里最重要的一点是:
所有导出的 OBJ(包括头发、牙齿、舌头等已经合并后的模型)必须保持:
完全相同的顶点数量
完全相同的顶点顺序
完全相同的拓扑
否则 Blender 无法将它们作为 Shape Keys 使用。
UV 与 Texture
在所有表情制作完成之前,先准备基础模型(Basic Model)。
该基础模型应包含:
完整角色,头发,牙齿,舌头
(眼睛可单独作为一个 Object。)
然后在这个基础模型上完成:
1. 自动分组(Auto Groups)
先根据模型自动分组(Groups)。
2. UV Master 展开 UV
使用:ZPlugin → UV Master, 勾选 Use Existing Groups(按组展开),生成 UV。
3. 创建 Texture
根据 Polypaint 创建 Texture。
这样导出的基础模型便同时拥有:
UV Map
Texture
Polypaint 信息
之后 Blender 将以这个 Basic Model 作为 Shape Keys 的基础对象。
第二部分:Blender 中建立 Shape Keys
将所有导出的 OBJ 导入 Blender。
其中:
Basic Model 作为基础对象。
其它 OBJ 作为不同表情。
导入之后,Basic Model 会自动拥有:
UV, Texture, 材质
*一个非常重要的注意事项
导入 Blender 后,不要对任何 OBJ 执行 Apply。
包括:
Apply Rotation
Apply Scale
Apply Transform
也不要修改模型的坐标数据。
以 ZBrush 2022 与 Blender 4.1 为例:
OBJ 导入后通常会出现:
X Rotation = 90°
默认
Forward:-Z Forward
Up:Y Up
因此无需进行任何修正。
只要所有 OBJ 顶点数都保持完全一致即可。
建立 Shape Keys
在保持所有 OBJ 原始状态的情况下:
以 Basic Model 为基础,
依次将其它 OBJ 添加为 Shape Keys。
由于所有模型都拥有一致的:
顶点数量
顶点顺序
拓扑
因此 Shape Keys 可以正确建立。
最后进行整体控制
当所有 Shape Keys 建立完成后,
建议不要直接移动角色模型本身。
而是:
创建一个 Empty(空物体),
将 Basic Model 作为其子物体(Parent)。
之后:
移动 缩放 旋转 全部通过 Empty 进行控制。
这样可以避免破坏 Shape Keys 所依赖的对象变换与坐标关系,也更方便将角色放置到不同场景中。
总结
整个 Workflow 可以概括如下:
1. 在 ZBrush 完成最终拓扑建模。
2. 保留完整细分等级。
3. 在最高细分等级完成 Polypaint。
4. 使用 Layers 制作各种表情。
5. 回到最低细分等级,组合 Layer,并 Merge Visible 导出各个表情。
6. 保证所有 OBJ 拥有完全一致的顶点数量、顶点顺序与拓扑。
7. 在基础模型上使用 UV Master 展开 UV,并生成 Texture。
8. 将所有 OBJ 导入 Blender,不要 Apply Rotation、Scale 或 Transform。
9.使用 Basic Model 建立 Shape Keys,并依次添加所有表情。
10. 最后使用 Empty 控制整个角色,而不是直接修改角色对象本身。
Workflow Summary
-Finish the final character topology in ZBrush.
-Preserve all subdivision levels.
-Complete Polypaint on the highest subdivision level.
-Sculpt facial expressions using Layers.
-Return to the lowest subdivision level and export each expression using Merge Visible.
-Ensure every exported OBJ has identical topology, vertex count, and vertex order.
-Generate UVs with UV Master and create texture maps from the Base Model.
-Import all OBJ files into Blender without applying any transforms.
-Create Shape Keys using the Base Model and add each expression mesh.
-Parent the character to an Empty and use the Empty for all scene transformations.
表情动画效果ShapeKey