游戏开发论坛

 找回密码
 立即注册
搜索
查看: 20471|回复: 0

怎样制作一个能登上TextruingXYZ首页的写实肖像CG?

[复制链接]

4万

主题

4万

帖子

8万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
82350
发表于 2023-11-6 15:27:10 | 显示全部楼层 |阅读模式
大家好,我是一名来自网易雷火艺术中心的3D角色艺术家。非常有幸,蓝发女孩这个作品在去年7月完成初版之后,就登上了TextruingXYZ的首页,也获得了很多艺术家的喜爱。其实那个时候我就已经被官方邀请来写一篇分享,不过由于我一直在针对这个CG进行一些优化,也陆陆续续在学习一些新的知识,所以直到上个月分享文章才正式完成并被官方收录。很高兴能在这里和大家分享我的制作过程!

微信图片_20231106143547.jpg

微信图片_20231106143555.JPG

开始构思

当我开始有制作一个肖像CG的念头时,我便开始在Pinterest上搜索一些图片。后来无意中发现了一位名叫Sasha Belyaeva的时装模特的照片,我就想以此作为这次女性肖像的参考。当然,我并不会完全去做得和她一样,而是以此为基础,加入一些我自己的想法去制作。

基础网格

我从Artstation平台上购买了J HILL制作的基础网格(他在Youtube上也提供了大量内容,推荐也关注一下)。当然,你也可以不需要这样做,因为现在VFace的文件包自带一个基础网格,你可以直接在网格上开始雕刻。只是因为当时我制作的时候,TexturingXYZ并没有在文件包里加入基础网格而已。

我将头部的基础网格细分了 8 次,形成了大约 8000 万个多边形,这种细分程度有利于雕刻复杂的细节。

微信图片_20231106143557.jpg

此外,我也将UV分成了3部分,以便后期渲染时获得最大的纹理细节。

微信图片_20231106143559.gif

微信图片_20231106143601.JPG

模型包裹

雕刻和UV完成之后,就可以选择使用Wrap4D对网格进行包裹了。我在这次创建面部的纹理细节时,选择了VFace #31面部置换和VFace #97中的颜色。

首先,将自己的模型和VfaceBasemesh导入Maya。然后,将它们按大致位置重叠并导出。

微信图片_20231106143603.gif

打开Wrap4D,按住Tab键并创建SelectPointPairs节点来匹配点(当你准备开始包裹时,可以连接Vface网格和颜色贴图来选择最佳匹配点)。

微信图片_20231106143605.JPG

如果想让Vface的网格完全对称,可以按Tab键,添加FixSymmetry节点使网格对称。

微信图片_20231106143607.gif

完成包裹后,你可以添加一个Brush节点来松弛和投射网格。当然,你也可以在Zbrush中执行此步骤。

微信图片_20231106143610.gif

在Mari中转换贴图

我使用Mari来烘焙面部纹理,并选择VFace完全校额置换来进行纹理转移。当然,如果你使用的是Vface提供的基础网格,你可以跳过Mari中的过程,直接开始应用贴图。

将头部模型和VfaceBasemesh(应已和你自己的模型匹配在Wrap里)导入Mari,然后在Mari中创建分辨率为16k的32位基本通道。确保将色彩空间更改为RAW模式,并记住勾选"Scalar Data"选项。

微信图片_20231106143612.gif

在VfaceBaseMesh图层下导入XYZ_dispCalibrated_mid0_raw.1001,并将导入色彩空间更改为Linea。右键点击网格下的通道,选择 "Transfer"选项,将VfaceBasemesh通道烘焙到你自己的模型中。

微信图片_20231106143614.gif

我从XYZ_albedo_lin_srgb.1001和XYZ_utility_lin_srgb.1001中提取了颜色和高光贴图,并在Photoshop中将其转换为8位TIF格式,然后用同样的方法将其传递到我在Zbrush中雕刻的模型上。

微信图片_20231106143617.gif

贴图传递完成后,我们需要以EXR格式导出纹理,并将色彩空间选择为RAW。

微信图片_20231106143619.gif

保存文件后,我们重复在下文Photoshop中的步骤(下文有详细的贴图转换过程),将图像转换为可在Zbrush中使用的32位TIF贴图。你可以在下面的段落中找到应用这种纹理的方法。

然后,我们将它应用到我已经雕刻好的模型上。正如你所看到的,转换后的贴图几乎没有损失任何细节。如果你有多个 UV,可以将模型按U分组,然后应用置换贴图并为其添加图层。

微信图片_20231106143622.gif

微信图片_20231106143624.jpg

置换贴图的应用

我们可以在Vface文件包01_head的maps文件夹中找到名称为XYZ_dispCalibrated_mid0_raw.1001.exr的贴图。可以在Photoshop中将XYZ_dispCalibrated_mid0_raw.1001.exr转换为32 位TIF图像,将红通道复制到蓝绿通道并删除Alpha通道,再将图像模式转化为灰度并添加色阶,将输出色阶段调至127-255,并垂直翻转图像然后导出TIF。记住导出TIF时不要压缩图像,然后导入到Zbrush中的置换贴图选项栏里,并将中值达到0.5,基本强度为0.1。你可以在0-0.14左右控制贴图的强度。

微信图片_20231106143626.gif

我们可以直接将其导入Zbrush并应用到Vface的基础网格里,你可以看到非常清晰的皮肤细节。

微信图片_20231106143629.gif

Vface贴图在经过PS转换后应用于模型时,效果相当不错,细节很多。我使用的是Vface Victoria#31,这对于创作年轻女性的肖像非常有用,大家可以去试一试。

基本贴图

我使用Wrap4D包裹了Medina#97的颜色纹理。不过我觉得她脸部的颜色需要进一步处理,于是我开始使用Mari增强纹理的亮度和饱和度。我还为她增添了一些淡妆,以增强她的肤色,并在她的嘴唇周围添加了一些蓝色,因为嘴部的毛细血管相对会比较密集。此外,我还画了一些粗糙度的贴图,为后面在Arnold中进行渲染做准备。

微信图片_20231106143631.gif

微信图片_20231106143633.gif

微信图片_20231106143636.gif

LOOKDEV

整个渲染过程是在Arnold for Maya 2022中完成的。我的Arnold皮肤着色器(一个简单的aiStandardSurface)使用aiColorCorrect和aiRange等节点来调整贴图,直到达到满意的效果为止。我的材质网络非常简单,我会尽量减少其中的技术性。所有灰度图(包括所有置换和所有遮罩贴图以及粗糙度)需要勾选颜色空间ColorSpace为RAW模式,并勾选ColorBlance下的Alpha Is Luminace。

微信图片_20231106143638.JPG

微信图片_20231106143641.JPG

我就是这样插入位移图的。这是一个非常基本的设置,此时有两层位移,一个是来自纹理XYZ_dispCalibrated_mid0_raw.1001,该纹理已通过Mari,另一层来自Zbrush中的雕刻细节。我在Mari中创建了一个遮罩来控制红色通道的位移纹理(因为没有经过处理的XYZ_dispCalibrated_mid0_raw.1001贴图只有红通道的信息如果连接了其他通道置换将在渲染视窗内膨胀),每个贴图都连接到一个aiRange节点,让我可以通过"OutPut Max "调整红色通道的强度。最后,我使用"plusMinusAverage "节点将它们组合在一起。

这是材质网格在渲染器中得到的效果过程:

微信图片_20231106143643.gif

我花了一些时间进行环境光测试,我使用的阿诺德测试采样值为4333。你可以在"02_references"文件夹中找到"hdri_studio_lin_srgb"图片。结果看起来很不错!我还尝试了使用其他一些HDRI灯光进行测试。

微信图片_20231106143645.gif

微信图片_20231106143647.gif

微信图片_20231106143649.jpg

当然还有其他的一些HDRI,你可以在PolyHaven上找到它们。

微信图片_20231106143652.gif

微信图片_20231106143654.gif

微信图片_20231106143656.jpg

这是一些通道图层:

微信图片_20231106143658.JPG

眼睛的制作

眼睛是肖像非常重要的组成部分。所谓“点睛之笔”,眼睛的效果对整个肖像给人的感觉都会有非常大的影响。

微信图片_20231106143700.jpg

当你完成了眼睛颜色贴图,或者找到比较好的素材的时候,就可以将其导入Photoshop。将图像转换为灰度模式,并将映射的位数改为16位。此外,应用高反差保留,这样就可以生成一个简单的置换贴图,并轻松应用到Zbrush中。使用该贴图,这时候你就可以在Zbrush中更深入地雕刻瞳孔,并增强巩膜上的细节。这样,你就可以在渲染器中实现更细致的反射效果。

微信图片_20231106143702.gif

微信图片_20231106143704.jpg

对于巩膜,我使用分层纹理(LayeredTexture)来混合颜色和透明度贴图。我还使用了ramp节点来微调巩膜的表面颜色,然后再将其与AiColorCorrect节点相结合。最后,我使用RemapHsv节点实现了理想的色彩混合效果。

微信图片_20231106143706.JPG

对于瞳孔,我同样添加了一个ramp节点来修改固有颜色。我选择"Type"为"Circula",插值方法为"smooth"。这样,修改后的颜色会与现颜色贴图更自然地融合。

微信图片_20231106143708.JPG

对于角膜,我创建了一个透明的玻璃材质球体,并添加了一个与位移和法线输入相连的噪波节点,以模拟眼泪的效果。为了尽量减少噪波对瞳孔区域的影响,我添加了一个透明度贴图,以确保整个瞳孔区域不受影响。

微信图片_20231106143710.JPG

这是所有眼球材质开发的过程图以及置换应用前后的效果:

微信图片_20231106143712.gif

这是所有材质球的参数,希望能给大家一个参考。

微信图片_20231106143714.JPG

微信图片_20231106143717.JPG

毛发制作

我使用Xgen的习惯是"引导线模式"和"交互模式"的混合运用,这样就可以更好地控制毛发的造型。在引导线模式下,我创建了毛发的基本形状及其组别;而在交互模式下,我修改了头发的形状并添加了细节。

微信图片_20231106143719.JPG

微信图片_20231106143721.gif

眉毛和睫毛则是用Xgen的交互模式制作的。此外,我还在头皮和额头交界处添加了少量毛发,这样会过渡得更自然,不至于割裂。

微信图片_20231106143723.JPG

对于毛发材质,我使用了带有"red"的aiStandardHair材质的预设。此外,我还添加了一个斜坡节点来连接"BaseColor"和"Transmission"。此外,我希望头发的颜色能从前额过渡到发尾,避免单调。为此,我创建了一个ramp节点并将颜色从蓝色调制到蓝绿色,从而获得渐变的效果。

微信图片_20231106143725.JPG

灯光

对于人像光,可以给大家一张图片,来了解比较基础的肖像灯光。

微信图片_20231106143727.jpg

在本次作品的光影方面,我并没有花费特别多的时间。在我收集素材时候发现了Marat Safin摄影师的作品,这给了我很大的启发。为了达到类似的效果,我使用了三盏区域灯光,最终完成了我的作品。

微信图片_20231106143729.JPG

微信图片_20231106143730.jpg

微信图片_20231106143732.jpg

总结

其实今年也只是我正式进入这个行业的第二年,还是有很多稚嫩的地方,我也一直在学习和提高自己。关于怎样去学习,我觉得大家可以经常去逛一逛Ins还有Discord的CG社区,和一些大佬们交流,有什么不懂的就大胆去问,然后大胆创作。也许慢慢地你就会发现,曾经遥不可及的大佬,现在反而变成了你的粉丝呢?

微信图片_20231106143734.jpg

我也很高兴能把我创作这个作品的经验分享给大家。同时也要感谢Natallia(BLU1304),朱师傅,还有老黄他们在我整个学习的过程中给予的很多帮助。我同时也把这个作品的成功归功于国内外的CG社区,也希望大家能够多多交流,多多创作,创造出更多优秀的作品!

文/雷火艺术中心
来源:网易雷火艺术中心

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-2-23 12:30

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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