基于ZBrush的写实面片毛发制作流程的改进探索

2021-10-16 12:45庄锴
现代信息科技 2021年7期

摘要:在三维角色制作过程中,传统的面片毛发摆放方法因其梳理工具效率偏低且不够直观。通过设计优化了写实毛发制作的技术流程,利用贴图烘焙,把不能直接用于影视与游戏模型的FiberMesh毛发转化为写实毛发贴图、放弃复杂面片摆放效率偏低的3dsMax,转而拓展使用ZBrush的曲线弯折变形器,更加直观灵活梳理出复杂的发型,最终,提升了写实角色模型毛发制作效率。为游戏角色模型、影视动画模型毛发的设计提供了新思路。

关键词:面片毛发;FiberMesh;曲线弯折;写实毛发

中图分类号:TP317      文献标识码:A 文章编号:2096-4706(2021)07-0054-06

The Improvement Exploration of Realistic Patch Hair Making Process Based on ZBrush

ZHUANG Kai

(Guangdong Literary & Art Vocational College,Guangzhou  511400,China)

Abstract:In the process of 3D character making,the traditional patch hair placement method is inefficient and not intuitive because of its combing tool. Through the design,the technical process of realistic hair production is optimized. By using map baking,the FiberMesh hair that cant be directly used in film and television and game models is transformed into realistic hair mapping,and the 3dsMax with low efficiency of complex patch placement is abandoned. Instead,the curve bending deformer of ZBrush is expanded to comb out complex hairstyles more intuitively and flexibly. Finally,it improves the hair production efficiency of realistic character model. It provides a new idea for the hair design of game character model and movie animation model.

Keywords:patch hair;FiberMesh;curve bending;realistic hair

收稿日期:2021-03-24

課题项目:2018年度广东省普通高校优秀青年创新人才培养计划资助项目(2018GWQNCX070)

0  引  言

三维角色模型的应用场景非常广泛,涉及动态视觉的方方面面。动画电影、游戏、包括近一两年内崛起的虚拟现实教学等都大量的使用了三维角色。在硬件性能指数级提升与CG技术高速发展的今天,CG可以在影视、游戏、动画等领域模拟出复杂的材质效果、宏大场景、光影变幻、夸张动作、动力学运算等效果。其中,毛发和流体可以并称为CG制作中两个顶级难题[1]。

目前主流的写实毛发制作方法大致可以归纳为两种类型。第一种毛发系统,通过在毛发生长区域的皮肤模型上创建引导线,并合理调整引导线,生成毛发。再设置毛发的碰撞、约束属性等,最后进行动力学解算与渲染,从而让巨量的毛发实现复杂、细腻变化的方法,常用于影视模型中。优点是效果真实细腻,缺点是渲染耗费时间非常长,实时显示效果差。第二种是面片毛发。使用3dsMax、MAYA等软件,按照毛发生长规律摆放面片模型,对面片毛发进行UVW展开,并把毛发贴图摆放在对应的UV位置上,从而模拟真实头发效果,常用于实时交互的游戏模型中。优点是极大减少了渲染时间,甚至可以实时渲染,缺点是摆放面片的过程效率偏低也不够直观。笔者基于本校科研项目,通过高精度三维女性写实头像的案例中写实毛发制作,进行写实面片毛发制作流程的应用研究,尝试用相关软件对发型进行更加直观灵活梳理和操作。

1  相关概念介绍

1.1  UVW展开贴图

UVW展开贴图是一种贴图方法,它能将三维模型展开成为带有坐标信息的二维图纸,在其各个位置附上贴图,即可得到与三维模型一一对应的三维模型贴图[2]。通常使用三维软件实现,例如:3dsMax的Unwrap UVW修改器。

1.2  法线贴图

使用RGB色彩模式的通道来标记法线的方向,显示为蓝紫色的纹理贴图,用来记载高模物体表面上的每个不同顶点的高度和光影信息。通过高、低模匹配烘焙获得,贴在低模上,可表现高模物体的凹凸与细节[3]。法线贴图可以使模型在不增加面数的情况下,最大程度还原毛发光影变化产生的细节,减少表现毛发渲染时需要的计算资源。

1.3  AO贴图

AO贴图也称为环境光闭塞贴图,是计算一个统一光源强度下,物体阴影效果的图形技术。能实现全局光照阴影效果的贴图,同时能很大程度减少计算资源。

1.4  透明贴图

透明贴图也称为遮罩贴图,通常使用黑白两色控制模型显示与透明,贴图中白色显示模型与材质纹理,黑色则为对应位置模型透明显示。能复杂显示模型透空位置的造型,同时能减少对面数的依赖。

1.5  PBR贴图

PBR是Physically Based Rendering的缩写,即基于物理的渲染,是一套尝试基于真实世界光照物理模型的渲染技术合集,一般直接通过颜色贴图、法线贴图、高光贴图、AO贴图等一系列贴图来传递给Shader,模拟光线达到更真实的渲染效果。现在广泛运用在高端的游戏模型与影视动画模型中[4]。

1.6  FiberMesh

FiberMesh是ZBrush4R2b版本的新功能,可以使用网格创建模拟真实头发,同时配套毛发梳理笔刷,可以梳理出各种发型。消耗资源比较大,不能用于带动画的影视或游戏角色中。

1.7  曲线弯折

曲线弯折是ZBrush4_R8版本中“变形器”的新功能,可控性非常强。通过调整控制点数量与移动控制点,可以轻松调整模型在空间中的位置与形变。

2  面片毛发制作流程设计

为了让写实面片毛发制作更加直观,同时减少模型多软件中的互导,笔者多次尝试,研究设计了本套面片毛发的制作流程,如图1所示。首先,是创建面片与展开UV。第二,FiberMesh生成毛发:导入UV shell贴在方形面片上,生成的FiberMesh必须严格跟UV shell对位。第三,烘焙贴图:在Marmoset toolbag中烘焙出的渲染PBR流程贴图。第四,摆放:分析原画的发型特征,创建长短不一多个面片,根据头发生长规律,从内到外分层摆放,增强头发整体性与生动性效果。第五,导入引擎:将头发模型与全套贴图导入引擎,通过数值调节实现最终效果。笔者通过制作高精度三维女性写实头像的案例,阐述本流程的具体使用方法,特别是FiberMesh功能与曲线弯折功能的重组运用,拓展面片毛发类型,为CG行业毛发的实践创作和理论研究提供借鉴方法。

3  新流程案例效果

下文通过高精度三维女性写实头像的案例,如图2所示,使用新流程制作写实毛发。

3.1  创建面片与UVW展开

在3dsMax中,创建多个长方形面片,如图3所示,用于制作从密到疏、从长到短不同形态的头发。再使用UVW展开修改器,将全部头发按照发根朝下、发梢朝上的逻辑摆放,有利于毛发生成与对位。于是,面片UV的方向必须严格遵循一致方向,展开成有序的二维平面图形,如图4所示。在UVW编辑器中渲染出UV shell,导出为jpeg格式。

3.2  FiberMesh毛发梳理

首先,在ZBrush中创建一个正方形面片,作为在Marmoset toolbag烘焙贴图的过渡载体,是本流程中不可或缺的低模。该面片创建便自带UVW展开,随后,在其上贴上3dsMax中导出的毛发UV shell图片。将毛发面片模型导入ZBrush中与正方形面片模型严格对位,如图5所示。

其次,生成FiberMesh之前,先创建好一个网格面片。为了更贴近真实毛发发根长短穿插的效果,网格面片需要倾斜45度左右摆放。在FiberMesh面板中点击预览即可看到毛发,调节毛发参数,如图6所示,再点击“接受”按钮创建出FiberMesh,如图7所示,使用各种毛发梳理工具让毛发能与UV shell的范围匹配,作为毛发高模。笔者在制作毛发贴图时,分别制作了从内到外,创建多组长度和浓密有明显区分的FiberMesh毛发,避免角色毛发单一、死板。以供毛发摆放使用,提高毛发效果的生动性。

最后,分别导出正方形面片(过渡低模)、毛发面片、梳理好的FiberMesh毛发模型(高模)。

3.3  导入Marmoset toolbag中贴图烘焙法线等贴图

毛发贴图烘焙最重要的是获得法线贴图,如图8所示、AO贴图,如图9所示、透明贴图,如图10所示,三张贴图用于在面片模型上模拟真实头发。

首先,创建烘焙:在把FiberMesh(高模)与正方形面片(低模)导入Marmoset toolbag,新建烘焙系统New Baker,将毛发的高低模型分别赋予到High(高模)和Low(低模)下面。其次,设置:Baker面板,设置烘焙路径、贴图名称、贴图分辨率、贴图类型,調整Low面板的封套包裹数值,使毛发低模完全包裹住高模,如图11所示。最后,烘焙贴图:完成后,将烘焙获得的贴图赋予到模型上检查是否烘焙错误。

3.4  面片摆放

将上一流程中,烘焙的透明贴图导入ZBrush中,并贴在毛发面片上,显示透明贴图效果,再根据疏密不同、长短不同将毛发分组,作为毛发素材等待后续使用。毛发的摆放是最为关键的一环。毛发在生长方向上的规律,长短粗细不同的毛发在身体上的分布规律,不同类型毛发的混合生长规律,以及毛发从根部到梢部的颜色变化规律等[5]。符合头发生长规律且符合制作规范的毛发摆放可以为角色最终视觉效果增添生动性,例如在发型边缘摆放细小发丝,更好地增加发丝错落感,还原头发的生动感。

使用ZBrush的Gizmo 3D变形器面片摆放写实面片毛发是一种值得研究的方法。下面通过曲线弯折修改器,摆放面片。首先,切换到Gizmo 3D,如图12所示。第二,在Gizmo 3D的顶部,单击小齿轮“自定义”图标。在弹出的菜单中选择曲线弯折变形器,如图13所示。第三,通过圆锥控制,调整变形器操作的轴向,分辨率等数据。第四,根据头发生长规律摆放多组毛发,如图14所示。第五,完成面片毛发摆放后,点击小齿轮按钮返回“自定义”菜单,单击“接受”完成毛发摆放。最后,将毛发面片全部合并为一个子工具导出,此处注意合并时,毛发面片UV的保留。毛发最终效果优劣取决于面片的密度、走向、细节发丝与面片摆放是否符合毛发生长规律。

3.5  导入Marmoset toolbag实时渲染

将头发面片模型与头部模型一起导入Marmoset toolbag中,在界面右侧的材质栏里对应的通道中贴上法线贴图、AO贴图、透明贴图等,如图15所示。架设灯光,将灯光设置为泛光灯,并设置光源的体积,再调整强度、距离、衰减等参数。根据三点布光的调整好灯光角度、光源色温,即可实时渲染出写实毛发的最终效果,如图16所示。

4  结  论

该文基于ZBrush面片毛发制作,设计出一套新的写实毛发制作流程。并通过高精度三维女性写实头像较为详细的制作案例,将Fibermesh毛发写实特点与方便梳理的优势转化为可以试试渲染的面片毛发,探索曲线弯折在毛发面片摆放的可行性,让面片摆放能更加直观与流畅,总结出符合CG模型的毛发制作流程。新流程的不断试探,是艺术创作永恒发展方式。该流程制作效率高、操作性强、在虚拟现实、高精度游戏模型、影视动画等领域有着广泛使用前景。

参考文献:

[1] 许乐,孟子凡.电影中的CG毛发技术进步史 [J].北京电影学院学报,2018(4):155-163.

[2] 祁甲民,冯兰芳,陈艳雷,等.逆向工程中三维建模模型纹理贴图方法探究 [J].制造业自动化,2018,40(5):112-114+128.

[3] 于越.当代游戏人物角色设计要素及其技术表现研究 [D].大连:辽宁师范大学,2020.

[4] 新生命.PBR的实现 [EB/OL].(2019-04-20).https://zhuanlan.zhihu.com/p/63125974.

[5] 孙立军.用一份坚持来传承中国人自己的文化——中国首部3D动画电影《兔侠传奇》之背后故事 [J].北京电影学院学报,2012(1):67-71.

作者简介:庄锴(1984—),男,汉族,广东潮州人,游戏设计专业教研室主任讲师,美术学学士,研究方向:游戏美术设计。