虚拟数字人网

虚幻引擎中的毛发运用----Groom工作流程

cnshuziren.com 技术前瞻 2022-08-25 17:14:38

Groom工作流程发生在DCC应用中,此时模型尚未导入到虚幻引擎中。作为起点,先使用一组毛发导线来确定形状,然后会在网格体区域中创建体积。

人脸形状毛发的引导毛发

可以使用Groom笔刷定位、雕刻和缩放可塑性的引导曲线, Groom笔刷可以卷曲、修剪甚至移除毛发。

虚拟Groom笔刷

在雕刻和毛发造型笔刷的帮助下,引导曲线会被塑造成发型或毛皮样式。渲染毛发的色彩可以通过材质参数或毛发采样的纹理确定。

由于角色的不同区域会有大相庭径的特征,Groom设计师可能会为人类的头部、眉毛、胡须和体毛,以及动物的头部、身体、腿部和尾巴创建单独的Groom。

在创建较为复杂的Groom时,可以将其分解为不同的部分,这样将资产导入虚幻引擎后就能更轻松地管理多个分组。

程序化造型

DDC应用中的毛发工具包含许多程序化造型参数,可以用来调整毛发导线或插值毛发的效果。这些参数的名称通常与现实生活中的发型设计术语相仿,比如修剪(trim)、卷曲(curl)和卷发(frizz)。每个程序都有相关的一个或多个数值,以表明毛发导线或发丝的相对变动程度。

修剪(trim)值会限制毛发导线或插值毛发的长度。卷曲(curl)设置会获取卷曲的数量和范围,并相应地执行。鬈曲(frizz)或噪点(noise)会根据输入的数值,使曲线的控制顶点位置随机化。

对于此类参数,控制顶点的数量会直接影响到曲线可以支持的细节程度。由于复杂的形状需要大量的控制顶点,你也许不得不经常重建曲线,才能确保控制顶点在整根毛发中均匀分布。

程序化造型工具

密度与厚度

渲染带有毛发的图片时,系统需要在每个像素中渲染多根可见的发丝。人类的头部长有数十万根发丝——在虚幻引擎里,人类发型的合理发丝数量大约为5万根——每根发丝的平均直径约为100微米。(动物毛皮的发丝数量和平均直径会根据动物而大相庭径。)

最适宜的Groom会找到密度与厚度的平衡点,在真实感和性能之间把握平衡。

聚丛

聚丛是毛发自然发生的现象,常见于发束、单独卷曲或潮湿的毛皮。添加聚丛水平的主要目的是为较大的形体增添细节、变化和层次,以获得更为逼真的外观。

在CG中,聚丛算法会在渲染期间将发丝的尖端拉扯到一起,由此打造出这种效果。

聚丛将发丝尖端聚拢

为了让毛发产生层次效果和自然结构,聚丛又被细分成三个等级:大聚丛、中聚丛和小聚丛,我们也会将其称为主要聚丛、次要聚丛和三级聚丛。主要聚丛是主要的毛发发丝集群,从中会衍生出次要聚丛和三级聚丛。

何时使用这些额外的聚丛并没有固定规则,一切都要看对应的参照物。现实中的聚从效果往往细节丰富,(因此)要完全获得参照图片中的效果会十分困难。最好先从较大的聚丛结构入手,然后再着手处理更细微的聚丛效果,直到整体结构符合参照图片中的效果。

程序化与人工方法

程序化方法会使用参数(修改器、表达式)来放置毛发,并设置一根或多根毛发的卷曲和长度等属性。人工方法与之相反,需要手动放置毛发,并使用鼠标刷对单根或小群毛发进行雕刻,以匹配参照物。

Groom通常包含这两种方法,从程序化转变为人工控制的时机取决于Groom设计师,可以使用一系列造型修改器程序化地定义简单引导曲线的最终状态,也可以人工放置每一根引导曲线并精雕细琢为最终造型。

程序化方法倾向于处理较短的毛发。通常情况下可以先使用尽可能多的程序化方法来填充Groom区域,随后再手动放置发束和单独的毛发。

如果角色距离摄像机较远,或者处于高速运动的序列中,程序化方法通常就是最优解。在大部分情况下,与使用人工方法构建的资产相比,程序化Groom的图层或节点网络都会更少。

虽然人工方法颇耗时间,但对需要近距离观摩的主角类资产而言,这是必需的选择。凭借这一技巧,Groom设计师可以手动放置毛发来匹配具体细节,从而获得理想的效果。例如,在为影片制作视觉效果时,Groom设计师通常会手动调节每一根睫毛来匹配演员的容貌,或者手动移动每一根毛皮发丝来匹配参照物的毛皮结构。

发表评论

用户头像 游客
此处应有掌声~

评论列表

还没有评论,快来说点什么吧~