在Houdini和Substance 3D中创建逼真的Geralt of Rivia
Thepoly原创 14491 0
实名

通过了实名认证的内容创造者

发布于 2023-4-27 14:16:16

您需要 登录 才可以下载或查看,没有账号?注册

x

81206981b603f57a91c07389ac43df78.jpg


Hello . 大家好
今天给大家带来一篇有关于《Geralt of Rivia》项目的细分讲解我是麦狗
a8e7f8990925571c6f19c9a600dbce26.png


Vishwesh Taskar分享了关于《Geralt of Rivia》项目的广泛分解,解释了角色的脸部和服装是如何建模的,并给出了一些关于如何实现逼真皮肤的提示。





1The Geralt of Rivia项目
Geralt of Rivia项目一开始只是像其他大多数项目一样的在实践,但随着项目的进展,它真的起飞了。我的个人项目主要是试验不同的技术,而不是我在工作中每天使用的常规工作流程,以便增加我的方法库。
这个分解会很有趣,我希望它能帮助你学习一些技巧,并把你的艺术推向新的水平。

让我们从建模开始。
2Cavill先生
我没有为这个项目准备任何摄影测量数据,所以我一开始就通过观看《巫师》来从心理上把握不同角度的面部形态,然后一路收集大量的参考资料。
以下是我主要依靠的参考资料的集合:

一旦我觉得我准备好了,我就进入ZBrush,取了一个半身像的基础网格,并开始雕刻他脸部的基本形态,一开始只是用眼睛看参考资料,然后添加更多的细节,并使用Maya中创建的匹配相机功能来匹配它们的位置。这几乎是大多数VFX建模艺术家使用的标准建模工作流程。






这里有一些BPR,让你了解我的雕刻工作从开始到结束的进展情况。


3眼睛
我使用了一个基本的眼睛设置,角膜是一个球体,里面的虹膜是我从免费的Louise扫描中借来的地理信息。我在虹膜上做了一些基于纹理的位移,然后用角膜上的透明图进行测试。在这个项目中,我没有深入研究眼睛的细节,所以我只是用我可以从颜色贴图中提取的位移,并使用Substance 3D Painter进行了一些处理。





4Marvelous的装束

我很久以前就想试一试Marvelous Designer,所以这被证明是一个完美的机会。斗篷和他的衬衫制作起来非常有趣。虽然我不需要制作他的整个衬衫,因为它不会被看到。相反,我决定把整个东西编织起来,因为我还没有准备好放手。





‍对于斗篷,我在使用Marvelous Designer和Houdini进行了几次尝试后,能够得到一个像样的形状--这帮助我创建了一个非线性工作流程来打磨它。

我带来了单面斗篷的地基,并使用Poly Extrude挤压它,隔离了布的两面之间变厚的侧面组,以创建一个用于散射斗篷的开放编织末端的条带。散射的设置只是使用散射和复制到点的节点的简单设置。
5让它下雪
对于雪地地形,我创建了另一个散射设置,由使用Mask by Feature生成的顶轴密度遮罩驱动。四个不同的雪地景观是用球体和山体变形器分层创建的,斗篷上的散射也是用类似于开放端的散射设置。
我放置了开关来帮助我渲染测试多组数值,看看哪一组效果最好。
啊!如果没有节点,我该怎么办?


6UV和贴图
由于我最初对Henry有不同的计划,我采用了非蝶形的UV,并坚持使用它们。多亏了Marvelous Designer,使为这套衣服生成UV成为一件轻而易举的事情。



对于脸部纹理,我一开始使用Texturing.xyz的一个多通道脸部,用R3DS Wrap把它粘在脸上,后来在Mari中进行了完善。YouTube上有一些教程,可以帮助你详细了解这种方法。




7Mari中的操作
当我把包裹好的纹理从Wrap转移到主头的geo上,我就开始了纹理清理。填补有问题的投影区域,并尽可能地将人物脸上的纹理细节复制到色块中。
后来在位移方面,我在Mari中创建了几个合并节点,将XYZ地图的RGB通道中存在的不同位移通道洗出来放到不同的图层中,以便更好地控制地图的位移水平,并与其他一些皮肤毛孔图混合。由于Mari中的实时着色器,调整和混合多个贴图的强度水平变得很容易。

我使用Mari来处理颜色和基础皮肤的位移,这里有一些截图来帮助你了解我是如何去做的。






8Substance-ai的更新
在我从Mari那里提取了一个像样的颜色和位移贴图后,我把它们都放入Substance 3D Painter中,创建了更多的二级贴图,如粗糙度和区域分离遮罩,还增加了更多的细节,以更好地配合人物脸上的微观细节。强大的视口帮助我最大限度地减少了迭代渲染的次数,达到了一个适合我的外观。
对于斗篷,我使用Substance 3D Designer创建了无缝纹理贴图和皮棉遮罩,所以这次没有UDIMs。我确实使用了一些辅助纹理来减少工作,所以它不是100%的程序化。瓷砖采样器节点帮助我快速复制了Geralt斗篷的气泡编织图案。‍


对于他的衬衫,我没有深入研究太多细节,因为它大部分会被覆盖。

这里是纹理‍的AOVs,所以你可以看看纹理是什么样子的,还有一些用于合成的自定义对象ID。


9Houdini X Renderman
对于这个项目,我使用了ACES(REC2020)。我决定大部分时间坚持使用pxrSurface着色器,因为我也想在这个项目中测试一下XPU,尽管我没有把它用于最终的渲染。
10皮肤着色器
SSS
我使用了非指数路径追踪模式来为皮肤获得最佳的散射效果。

我为皮肤lookdev创建的最关键的隔离蒙版之一是一个RGB分离/隔离哑光,包括所有没有被头骨严重遮挡的区域,如鼻尖、耳朵、眼窝和嘴唇。通常情况下,与脸部其他部位相比,这些区域需要有独特的ss值。这种方法使我能够获得对每个部分的单独控制,并自由调整SSS。
我使用pxrLayerBlend来创建一个图层堆栈,并将所有的蒙版连接起来,这样我就可以为每个孤立的部分提供不同的DMFP值。这种方法可以用来获得对着色器属性的更多控制。在lookdev期间,我花了大部分时间来玩弄这些值,试图让皮肤看起来尽可能的逼真。




Spec
我使用主层和透明层来分别控制皮肤的底层光泽度和上面的油/汗层。同样,我在这里也使用了隔离蒙版来获得对脸部不同部分的镜面水平和粗糙度的更多控制。
Displacement
我使用了一个图层设置来控制和混合我的两个层次的位移。一个是来自ZBrush的雕刻位移,另一个是使用Mari和Substance制作的皮肤毛孔位移。

获得逼真的皮肤的几个提示。

获得正确的SSS是至关重要的,所以确保你有照片参考,显示不同区域的皮肤的光线穿透情况。如果是一个肖像项目,它们不一定是人物的参考资料。Rachel Bradley的《人像照明汇编》是研究皮肤的一个很好的参考资料。
尝试获得一个恰到好处的光线穿透力。我的意思是,如果你把它推得太厉害,你最终会得到看起来更像蜡的东西。一个较小的值可能会使它看起来很硬。
渗透的颜色(dmfp颜色)。如果你把它弄得太红,它就会看起来像胶状。
11黄色眼睛
正如我之前提到的,我有一个带有透明度贴图的角膜/巩膜地球仪和一个虹膜地球仪。需要注意的是,ss应该只在角膜的非屈光区域活动。我在虹膜上做了一个非常基本的位移和凹凸,从颜色贴图中提取出来,给它一些深度。
在处理眼睛时要注意的一件事是确保你有正确的caustics设置。如果你使用的是pxrPathTracer,确保他们允许勾选caustics选项,如果你使用的是pxrUnified,那么一定要使用manifold walk来获得虹膜上的良好的caustics。






我能够使用pxrPathTracer的薄阴影和浮雕来实现一个虹膜的外观,当光线直接落在它上面时,它的行为有点像猫的虹膜。对于这一点,只要保持pathTracker中的允许caustics选项打开,并在所有的灯光上使用薄阴影选项。

通常情况下,对于人类的眼睛,我建议只有在你不使用浮雕的情况下才使用薄阴影选项,如果浮雕打开了,那么保持薄阴影关闭。


12毛茸茸的斗篷
这确实是一个爆炸性的事。纹理值是非常准确的,直接从Substance 3D设计器进入,但真正的挑战是让它看起来很厚和模糊。虽然大部分模糊的外观来自于groom,但我使用织物着色器本身生成的绒毛遮罩添加了一个额外的绒毛层,当与gloom结合时,这真的有助于展现厚厚的织物的外观。我还使用了pxrFacingRatio来改变剪影周围的反照率,以增加模糊的边缘。
13绒毛是不够的
我使用了一个标准的导引器和发源设置,加上一些弯曲和毛躁的修改剂,使织物上覆盖着毛发。
在仔细检查了一些参考资料后,我发现我缺少了一些布满织物表面的线团。我没有使用散点设置,而是使用了与绒毛相同的导引,并创建了一个密度较小的毛发源,以获得布点的位置。对于偏圆的形状,我放了一个厚度斜坡,使毛发的几何形状看起来像圆球。

因此,总的来说,我有三个层来制作毛发,着色器的毛发,毛茸茸的gloom和线状物的gloom。


从Marvelous Designer中的单面几何到gloom的整个设置,我非常高兴能有一个前后呼应的工作流程。因此,我回去多次调整表格,然后才找到适合我的东西。
14雪
对于散落在斗篷和头发上的雪,我用一个密度较高的pxrVolume着色器来得到看起来非常柔软的雪块。
在lookdev或comp中,只要我觉得需要更多的控制,我就确保创建更多的隔离罩和哑光ID。我永远都不会满足!
15勋章
如果不是因为Lama,这可能不会看起来那么好。Specularity中的尾巴属性推动了勋章表面的微观划痕的逼真程度。


有几件事情对我在Houdini的lookdev有帮助。

用不同的样本设置和孤立的对象创建多个ROPs,帮助我轻松地关注和调试角色的每个方面。我为脸部、斗篷和勋章设置了单独的ROP,每个都有不同的样本设置,以帮助我加快我的外观设计过程。
在花了一些时间设置摄像机和ROPs之后,我没有浪费时间去隐藏或隔离特定的元素,这使得这个过程很轻松。
强制对象消光也有助于我在需要时单独渲染特定的对象,以便进行对比,或者我只想重新渲染一个特定的元素,而不是重新渲染整个画面。
花时间设置基本的开关来快速改变着色器、几何图形等,以加快场景的多个方面的外观开发。
对于那些配置较低的工作站的艺术家来说,分割一个复杂的场景是非常容易的,所以尽量为你的场景的一部分创建不同的渲染ROPS,并有相对的参考链接,以便像样本这样的参数保持连接。
16梳理

让我们从简单的部分开始。

眉毛和睫毛的曲线是在Maya中使用匹配的摄像机手动生成的,然后放入Houdini中的标准指南和头发生成设置中。


17绒毛在这

绒毛和胡茬从来没有这么有趣过。在 "Hick to Hipster "教程中提到的导引广告法是创造短发/毛发的完美方法,它具有流畅的流动性,并迅速获得良好的效果。




18头发梳理


我使用了同样的平流技术来生成他头上的头发,它被拉到后面。

对于前面的卷曲悬垂的部分,我使用头部地理环境的遮罩创建了具有统一长度的直线导轨。然后我用导引器模拟节点来模拟它们,以快速获得头发应该如何落下的基本形式。然后,我潜入导引器编辑器,开始添加导引器修改器,如结块和卷发,以获得波浪形,就是这样。后来,我手动调整导引器以获得我想要的形式。如果网络变得太复杂,我就把导引器缓存在alibic中进行优化。




一旦指南准备好了,我不得不在头发的基因上做了很多工作,以实现波浪状的结块头发的整体外观和感觉。

19用扭曲(弯曲)增加一点动感

在我的许多渲染中,我想在Geralt的头发上创造一种风的感觉,以增加气氛。我没有采用所有的方式来模拟头发来实现这个目的。相反,我采用了一个更简单的方法。我只需要在垂下的头发团的末端有一点运动,所以我在头发基因中添加了一个弯曲的头发修改器,并将头发向一个固定的方向弯曲。然后只需在修改器上键入混合属性,就可以在发丝上得到一些运动。当然,这是一个懒惰的智能解决方案,但它节省了时间和计算能力。


由于节点基础的工作流程,我能够成功地继续雕刻我的模型,并通过使用导引器转移方法将导引器转移到新的网格上,用groom来检查它。你也可以使用导引器变形节点来做类似的事情。




对于头发的着色器。我使用了pxrHairColor和pxrHairMarschner来获得一些快速而简单的发丝变化。很简单的设置,没有任何贴图。我使用了一个颜色校正节点来获得对头发颜色的更多艺术控制。



20雪在空中飞舞

我的第一个想法是使用粒子模拟,但我在YouTube上观看 "Realistic CG Dust – Free Houdini Tutorial "时,发现了一种使用属性VOP创建落雪粒子的更轻的方法。其基本思想是改变散落在空中的雪花的位置和方向,以创造落雪。
这个设置涉及到创建几何体并在其内部生成点。一旦我们有了空间中的随机点,我们就需要随机化比例和旋转来创造变化。然后,这需要插入一个属性VOP,使点的位置相对于时间产生动画。


用于雪粒子动画的属性VOP:


21点亮它

一旦资产的外观设计通过一堆HDRIs和测试灯光进行了测试。是时候对灯光进行一些有趣的处理并创造不同的氛围了。
这时,我已经有了一大堆来自该系列的精彩灯光参考。所以我把范围缩小到几个看起来最好的灯光场景,并试图复制它们。
我将研究参考图片中的灯光,并试图在我的脑海中将其分解。
我的过程是先找到一个与参考背景相似的环境HDRI。Polyhaven是一个很好的网站,可以获得各种HDRI。我逐渐开始添加更多的灯光,以尝试获得参照物的整体外观和感觉。
我不需要在灯光上做太多花哨的事情来达到我需要的效果。

在下面这个例子中,为环境添加一个圆顶灯,为火堆添加一个矩形灯就足够了,但是为了让人物更有个性,展示斗篷上的绒毛,我添加了两个边缘灯。在场景中添加灯光需要正确处理,例如在这里,额外的边缘灯也需要感觉到场景的一部分,所以我采用了一种感觉像轻微扩散的月光的设置。


在调整灯光的同时。一定要使用较低的渲染分辨率,结合RenderMan的去噪器,这样可以加快迭代速度,节省时间。我为此创建了一个单独的灯光ROP,它使用了摄像机分辨率的1/5,并且只使用了最必要的对象。

即使对于最终的渲染,优化也是必要的。我把场景中的物体分块渲染,主要是为了对整个人物、头发和眼睛进行单独控制。拥有多个集成器和ROP集有助于我根据着色器的复杂性,用特定的样本设置渲染不同的物体。我只需要在需要的对象中把样本推高,最好的例子就是白头发。
下面是一些我在各种ROP中使用的不同样本设置的照片。
没有运动模糊:


带有运动模糊:


对于眼睛:


用于头发:


建议在遮挡灯光的同时使用540p这样的低渲染分辨率和RenderMan的去噪器来节省时间。

渲染时的景深是后来用Nuke和深度通道添加的。我在渲染时使用了运动模糊来创造头发上微妙的风动感。
22完成合成

这的确是使画面看起来像电影一样精致的最关键阶段之一。
在这里,我根据每个画面的需要对多个元素进行了微调,如皮肤的镜面效果、眼睛的亮度等。在Nuke中,我使用ZDefocus节点增加了景深,并使用深度通道。对于大多数的画面,我使用照明HDRIs作为背景,只是使用散焦节点添加一些模糊。画面的最后润色是做一些后期处理,比如根据灯光参考进行电影色彩校正,添加胶片颗粒和色差,使画面感觉像是电影的快照。






23ACES

对于那些想知道我是如何用ACES来完成这个项目的人来说,这里有一些在多个软件中使用的设置截图。
24Mari

颜色通道(反照率):


标量通道(粗糙度、位移等):



RenderMan "IT "查看器:






Nuke:


这就是所有的内容! 我希望这个细目能让你了解我的思维过程和工作流程。我感谢大家抽出时间来阅读这篇详尽的文章。

Vishwesh Taskar, Lookdev艺术家

- End -



   

55aa46ed5756e6268096257fdfc2ba80.gif
还没有设置签名!您可以在此展示你的链接,或者个人主页!
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表