-
什么是UMA?
UMA,Unity Multipurpose Avatar,是一个开源Avatar创建框架,通过它可以实现自定义人物(或任何生物)的模型,包括换装,改变身材样貌等功能。
现在先从UMA基础网格内容创建开始,将创建一个UMA角色的完整流程走一遍。
-
那么什么是UMA需要的内容?
使用UMA需要的内容包括以下三个主要方面:基础网格(base meshes),插槽(slots)和覆盖图(overlays)。
-
- 基础网格
这一部分可以简单分为人物的基本躯干,也就是不穿衣服的网格,以及各个部位的衣服和配饰的网格。
-
- 插槽
所有提供mesh的UMA内容都是插槽。插槽可以理解为一种容器,用来收纳所有需要组合到UMA avatar的必要資料。比如基础网格通常被分成头,躯干,腿。。。然後以插槽的形式被组合在一起执行。插槽分为基础插槽和衣物插槽。
-
- 覆盖图
每个插槽需要至少一个覆盖图,但通常会有一个overlay列表。Overlay带有所有用來创建最終材质的贴图并可以有额外的映射信息。列表中的第一個overlay为基础贴图,其它的都被组合到第一个上,按顺序创建最终的图集。
-
创建UMA新角色的基础网格(不穿衣服)的流程
1.处理缩放问题,添加调整用骨骼(比如在鼻子处加一块骨头)(非导入模型可跳过这一步)
2.在骨骼层级中添加两块额外的骨骼,"Global"和"Position"
3.创建Blendshapes(可选)
4.分割模型并导出
为了处理分割后各个模块接缝处的法线问题,UMA需要我们提供一个unified模型,也就是未被分割的模型来提供处理参考
然后开始分割模型
注意有的模型被分割出来之后不再需要之前的blendshape,需要删掉
以上就是没有附加衣物的基础网格的创建。
衣物以及配饰基础网格的创建
1.导入穿衣服的模型网格,将其和原始模型放在一起,调整比例大小至基本对齐,然后将模型的各部分与 原模型的约束关系取消,建立与新模型的关系,删掉原有的顶点组(vertex groups)。
2.修整模型各部分的形状,删除衣物以外的部分,然后通过调整使衣物网格尽量贴合裸体的人物模型网格
3.选择躯干模型,然后shift选择覆盖在该躯干上的衣物模型,将蒙皮权重转移到衣物模型上。
4.有的蒙皮权重可能需要修改,比如面部配饰如眼镜,为了使不会随着面部表情改变形状,要把权重设置为全部在head骨骼节点上(这样其他骨骼节点的权重就为0)
最后导出模型