在UE4中创建逼真的人物皮肤
9551 0
实名

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

发布于 2024-10-21 16:48:18

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

x
本帖最后由 CG艺术之神 于 2024-8-10 18:57 编辑

第1部分-多通道人物面部皮肤介绍
TexturingXYZ发布了这些很棒的新贴图。这改变了整个游戏,我们习惯了如何对脸部进行纹理处理。这些贴图的详细用法可以在这里找到:
下次下次,接下来的几篇文章补上,哈哈哈哈
提示: 为了制作变得容易,请使用ZBrush。
用白色填充模型面部,然后用红色颜料绘制所有标记(眉毛,眼睑,鼻孔,鼻子,下巴,嘴唇的边缘等)。通过polypaint创建纹理,将其导出并在photoshop图层的顶部进行复制,您将获得一条指导原则,可以轻松地将这些点放置。
因此,我在zbrush中使用的置换贴图中,给红色和绿色通道添加了毛孔细节。我将面部细节分层放置以使它们无损。在应用置换之前,我喜欢添加随机噪波,该噪波会破坏人物面部完美的感觉,并赋予其更自然的外观。

image.png


注意: Jeremy给我展示了一件很酷的事情:只需少量膨胀网格即可使人物皮肤毛孔看起来更好。
膨胀确实会改变您模型的主要造型。因此,要解决此问题,请将变形目标保存在较低的细分中。在最高细分级别,使毛孔膨胀。返回较低的细分,使用morph可以带回您的主要信息。这样一来,您既可以保持模型的造型,又可以保持毛孔细节的膨胀。
第2部分-纹理
所以我使用的纹理是:
主要贴图(必须) : Albedo, Cavity, AO, Normal, Roughness
次要贴图 : MicroNormal, Normal weight, Detail Tilables(Normal and Cavity), Detail Tilables Zones, Roughness Tilables 可选择使用: Specular, Translucency, Height
image.png


主要贴图(必须):
反照率(Albedo): 面部的颜色信息。由于新的XYZ贴图附带了反照率,并且打包在一起。我的颜色信息与位移量相匹配,我只是保存了反照率并进行了手工绘画以添加特定于我角色的信息。
如果您想手工绘制整个面部的反照率,那么这是一个很棒的视频!
https://www.youtube.com/watch?v=9ywhVkZBtq8
Cavity: Cavity只是一张黑白图,其中的内容均为白色,但所有毛孔为黑色。Cavity贴图将在许多地方使用,这有助于从着色器中恢复更深层次的细节信息。
我仍然从zbrush中提取Cavity贴图,但是听到了有关Knald烘焙它的好消息。
AO: 从高多边形网格到低多边形网格烘焙的环境光遮挡。
Normal(法线): 法线信息从高多边形网格烘焙到低多边形网格。
粗糙度( Roughness ) :就其构造方式而言,我仍然认为它是最美观的皮肤贴图之一。每个人都有自己的制作方法,但共同的原则仍然保持不变:
1.基本值:只是一个定义默认粗糙度值的平面值。
2.区域变化:定义区域粗糙度的变化。有些区域比其他区域更有光泽,或者有些区域更粗糙。例如,嘴唇,鼻尖更光滑,或者下巴,发茬比其他粗糙。 4.孔隙细节变化:孔隙中的粗糙度值不同。我使用Cavity贴图添加此更改。 5.特定元素:您角色的特定事物。像伤口,疤痕,油漆等。
注意: 如果要使用贴图作为粗糙度,则该材质会支持该纹理。我正在UE4内部使用区域图(zone map)来获取粗糙度,这使我能够在UE4内部实时更改粗糙度。这样就摆脱了软件之间来回导入导出的麻烦,我可以很容易的进行look dev的制作
该贴图有RGBA通道,其中通道分为多个区域。通道中的白色为粗糙度定义区域,即产生粗糙度变化的区域,而黑色部分将保持不变。
具有ALPHA通道的贴图应导出为“ TGA 32位”。

次要贴图:
MicroNormal: Micro法线贴图应用在我们原始法线贴图的顶部,以增强一些微观细节。我将其从XYZ位移( 置换贴图Displacement map )的蓝色通道中提取出来。通过Crazybump之类的软件制作它,以将其转换为法线贴图。
DetailTilable: 细孔的细节平铺。它们将在我们的模型上平铺以提供更精细的细节,即使是8k地图也无法捕获。细节图块需要两个贴图:normal和Cavity。如果您想使用自己的法线贴图,请确保提取出一个Cavity贴图,像Knald这样的软件就可以做到。
但是,你既然可以找到最好的,又何必去使用别的东西?

DetailTilablesZone: RGBA贴图,定义每个可贴砖将影响面部的位置。红色通道控制第一个图块。其次是G B A分别控制2 3 4。该材料可容纳8个瓦片,需要打开该选项。启用后,第二个R G B A控制5 6 7 8。
Normal Weight: 黑白地图,可全局控制MicroNormal和DetailTilable的影响位置。例如,嘴唇有其自己的特定细节,嘴唇的纹理不应有太多随机性。因此,我们使用“Normal Weight”贴图遮盖了该区域。
Roughness Tilables: 只是一张黑白噪声图,可在微观水平上打破粗糙度,使您的毛孔和细部瓷砖具有更多的水分和寿命。
注意:主要贴图已经足以使您在UE4中拥有漂亮的外观。次要贴图都需要改进。在进行下一步制作之前,请确保对主要贴图的外观满意。
可选择使用贴图:
我们不需要这些贴图,但是如果您需要它们,自定义的材质可以支持它们的使用。
Specula r :镜面反射贴图,而不是数值和滑块。 我建议不要使用镜面反射贴图,在大多数情况下,它似乎会破坏着色器。 Translucency: 定义面部区域的不透明度。固定值可以正常工作。 如果需要RGBA区域贴图,则材质也支持该贴图。 Height: 高度图确实可以起到超级特写的作用。
亚当·斯库特(Adam Skutt)想出了这个技巧,可以让您的身高图使用身高图控制平铺砖的强度。例如,痣会在微观水平上拉伸皮肤,从而导致毛孔强度降低。高度图可以帮助实现这一点,此外它还可以提供面部位移 ( 置换贴图Displacement map ) 。这是一个过大的杀伤力,但是如果需要的话就在那里。
确保镶嵌细分乘数大于1。
我从XYZ位移图 ( 置换贴图Displacement map ) 的绿色通道中提取高度图。导出到photoshop中处理以获得更多的黑白信息,以提升人物面部细节。
第3部分-皮肤材质


这是我以MEET MIKE材质为起点构建的蓝图材质系统。纹理样本源设置为“共享”,使我们可以绘制16张以上的贴图。


我们可能永远不会使用到这个蓝图材质的所有设置,但是我设置了能想到的全部选项,以防万一有人需要它。
这就是我们的材质系统正在做的事情。着色器中的名称应易于说明,但是如果需要参考指南。在下面共三张参考指南:
注意:如果您要使用8个Tilables。在Tile04下,有一个名为Unlock Next Level的开关。只需打开它,您就会打开其他4个图块。
第4部分-皮肤着色
虚幻的皮肤着色器变得超级超级棒!!
为此,我们使用了来自Meet Mike演示的 次表面轮廓 “ SP_Head”。

没有特定的属性数值可以使您的皮肤看起来逼真。归结为找到良好的参考并进行匹配。
我认为有两个要素对于皮肤着色很重要:
Subsurface次表面 Specular 高光(镜面反射)
UE4中的SSS使用次表面轮廓。散点半径的0.95似乎是真实 头部的 尺寸 。 桃红色/淡红色的肤色适合皮肤。 我将次表面颜色保持为接近白色。 边界颜色渗出将定义颜色从一种次表面材质到另一种 次表面材质 的渗色。
Transmission(穿透) 我大部分时间都保持默认值。 虚幻建议将0.5作为默认高光值。但是虚幻中添加的一个重要内容是,具有双叶镜面反射的功能。

皮肤有两个镜面瓣,而不是一个,从而可以更好地渲染。双镜面反射有助于在亮点周围实现额外的规格和光泽,以模仿皮肤的油性表面。无论是微观还是宏观水平,它都能使皮肤看起来更好。
添加cavity贴图有助于无损消除细小毛孔内的镜面反射。可以将其烘焙到镜面贴图中,但具有滑块控制要灵活得多。
皮肤的所有细节都是细微的,找到良好的参考,并尽力匹配它们,同时确保它在每种光照条件下都看起来不错。
第5部分- Tileables

法线贴图正在混合到我们的主要法线贴图中。cavity贴图被用来影响我们的 Spec( 高光 ),Albedo( 反照率 ),AO和Roughness( 粗糙度 ) 。 制作可贴图节点系统非常容易,仅当您要在Normal, Spec , Albedo ,AO和 Roughness 中添加8 * 2(16)个贴图时。 事情确实有些混乱,请记住这一点。
你们可以下载我创建的“皮肤”材质以进行深入了解。
但是,这是一个简化的版本,显示了如何在UE4中具有tileable:


要在UE4中制作纹理图块,您需要一个“ TexCoord”节点并将其与“ Constant”相乘。
该常数将定义您的贴图平铺多少时间。只需将乘法节点插入纹理上的“ UVs”输入即可使其工作(第4节中所示的ah)。 要控制法线贴图的强度,请将其与“ MakeFloat3”节点相乘。其中“ Z”输入连接到值为“ 1”的“常数”的位置。 并且“ X”和“ Y”都连接到另一个“常数”。这将控制您的法线贴图的强度(在第3节中说“常数”)。 若要使用遮罩定义哪个区域将影响法线贴图,请将此遮罩输出与“ MakeFloat3”节点相乘。 其中“ Z”输入连接到值为“ 1”的“常数”。 “ X”和“ Y”都连接到模板。 第3节展示了使用MakeFloat 3节点的情况,而第1节是Mask。 在这种情况下,我们的“遮罩”信息位于第一个可平铺贴图的红色通道中。 其他通道包含其他可贴图的蒙版数据。 第5节和第6节分别是法线贴图和cavity贴图。它们的“ UV”输入连接到第1部分进行平铺。

第1部分是我们的“第一细节法线”贴图输出,我们将其与“第二细节法线”贴图混合。
第一个输出连接到“ BlendAngleCorrectedNormals”的“ BaseNormal”。 第二个法线贴图将连接到同一节点的“ AdditionalNormal”输入,如第2节所示。 确保先将“ BlendAngleCorrectedNormals”的输出连接到“ Normalize”节点,然后再进行处理。 第3部分代表您要插入“阴影网络”的第二,第三和其他图块。 它们将以与第2节中所示的相同方式与以前的Normal Ouput连接。 该链将一直持续到与原始法线贴图(第4节)连接为止,其中原始法线贴图将连接到“ BlendAngleCorrectedNormals”的“基本法线”。 最终法线贴图的输出必须插入“ AdditionnalNormal”输入中,如第5节所示。

第1节显示了我们的cavity贴图,第2节显示了RGBA贴图。
红色通道用于提取我们的遮罩信息。 显然是针对“第一细节cavity”图。其他通道将用于存储不同的明细cavity贴图。 要在材料中进行cavity控制: 首先,将cavity输出连接到“ Lerp”节点的“ B”输入(LinearInterpolate)。 将值“ 1”的“常数”连接到“ Lerp”的“ A”输入。 将另一个“常数”连接到“ Lerp”的“ Alpha”输入。 此“常数”将控制cavity强度! 如第4节所示,对Albedo和Spec部分进行此操作。 然后,将第4节的“ Lerp”输出连接到另一个“ Lerp”节点的“ B”输入中。 将值为1的“常数”连接到同一“ Lerp”的“ A”输入。 将遮罩连接到“ Lerp”的“ Alpha”输入。这将影响腔的显示位置。 像第5节一样,对Albedo和Spec都这样做。 对于镜面反射控制: 将基本镜面反射与“ 1st Detail Cavity”贴图的第5节中“ Lerp”节点的输出相乘。 要在“规格”中添加更多“细节腔”控件,请将先前乘法的输出相乘。 如第8节所示,第二个和第三个明细腔的最终输出由“ 0”常量表示。 将继续直到最终连接到“着色器”中的“高光”输入。 对于我们材料中的反照率控制: 重复对镜面反射控制所做的相同操作,直到第5节。 由于我们要在型腔中控制颜色,因此不要将第3节“ Lerp”中的输出“乘以”,而是将输出连接到另一个“ Lerp”节点的“ Alpha”输入。 将“ Constant3Vector”连接到同一节点的“ A”输入。 这将控制我们cavity的颜色。 将我们的原始反照率(第3节)连接到同一“ Lerp”节点的“ B”输入。 要在Albedo中添加更多的细节cavity控制,请将输出从先前的“ Lerp”节点连接到另一个节点的“ B”输入。同一“ Lerp”节点的“ A”输入将连接“ Constant3Vector”。并且“ Alpha”将连接“ 2nd Detail Cavity”第5节的输出。 如第6节所示,“ Constant3Vector”由值为“ 1”的“ Constant”表示,第9节以来自不同“Detail Cavity”贴图的输出为特征。 对您拥有的所有Tileable贴图重复此操作,然后连接到着色器的Albedo输入。
粗糙度或AO的孔洞控件的构建方式与“高光”相同。
我还使用了随机噪声,该噪声在我的粗糙度上平铺并在Micro水平上破坏了我的粗糙度,使它看起来更加有肉感和生动感。 注意:在使用cavity贴图之前,需要对它们进行引擎处理。 您所要做的就是在Photoshop中修改贴图以获取更多的黑白值。您想要的一切都是白色,而cavity贴图要完全是黑色的,并带有一些渐变。

如果您希望在Marmoset工具包3中使用tilable进行相同的操作。
John O. Owsment拥有出色的着色器! UE4材质的灵感来自他的着色器工作。 如果您正在寻找Marmoset中的皮肤构造,我前一阵子发表了一篇文章。 但是我仍然遵循相同的原则,与本文进行交叉检查以更好地理解我要传达的内容也可能会有帮助: Https://marmoset.co/posts/creati ... ag-saurabh-jethani/


本帖被以下画板推荐:

小七CG精品素材店https://shop464153351.taobao.com
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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