ue4 android 贴图,【腾讯GAD】做一张用于UE4实时渲染的写实级别面部贴图

原标题:【腾讯GAD】做一张用于UE4实时渲染的写实级别面部贴图

我的名字是Braulio “Brav”FG。我来自哥斯达黎加的圣何塞。接下来我将讲解如何在UE4中使用TextureXYZ的贴图来创建一张实时渲染用的真实人物贴图。

贴图的使用

首先我要感谢David Marmor为这个项目提供了base model和主要的blendshapes。这个base model不包含任何UVs、贴图以及细节等等,仅有一个默认的灰色材质,所以这允许我能够去创建几乎是任何相貌的脸庞。在最开始的时候,我希望能够让她的脸看上去显得真实,而不是看上去是一张光滑的完美的肌肤,会有一些粉刺、痣、瑕疵和一些岁月的痕迹(但仍然显得女性化),会有光滑的嘴唇和妆容。

为了达到这个目的,我求助于TextureXYZ的资源,尤其是 “Female Full Face 20s 01”来创建置换贴图,同时为了制作color贴图,我使用了两套贴图,一套是女性贴图“Female Face 20s Fullface 06”,另一套是男性贴图里的“Male Face 18s Full Face 04”。我使用了2套贴图因为他们都看上去非常年轻,然而讽刺的是,女性的皮肤贴图看上去更加粗糙,男性的皮肤贴图缺看上去更加柔软,因此我尝试在两张贴图之间达到一个完美的平衡。

25235bf435fb43eed6d6903628a285cf.png

307a87d0bcf330c41d8aab568f96a20b.png

bbfa9b8ce2fe0ad35d39a6d2a13a62ed.png

UV 映射

我使用UVlayout来制作整张贴图的UV,并且尝试了一些不一样的东西,我决定将整个面部的UV都按照TextureXYZ的贴图对面部的划分来进行拆分。举个例子,前额是一个UV,鼻子是另一个UV,脸颊有事另外一个,诸如此类。我这么是为了让每个部分有更多的UV空间和贴图分辨率。而这么做的缺点是当你映射完贴图后整张脸会有很多的接缝,所以你必须在制作贴图时格外的小心。下图你可以看到我是如何拆分UV的,每个颜色代表着一个不同的UV。

77ec4ea38ab5276537ffc40fd6f16261.png

MARI映射

当所有的UV都完成后,我使用MARI来进行所有的纹理映射。首先我制作的是置换贴图的映射,我想要使用置换贴图来制作引导我制作颜色贴图,在稍后制作其他的贴图时能够用它来当做基础。我不建议首先去映射颜色贴图,然后再去匹配置换贴图。置换贴图和颜色贴图都是映射到8K分辨率的贴片上。一旦这两个贴图完成,我就能够去创建其他的贴图比如粗糙度贴图、反射贴图、AO贴图等等。当然我还使用了不一样的参考照片来映射口腔内部的贴图,像是牙齿、舌头、牙龈、等等。

8e45b831225bff7ff7fb690ba3c97a45.png

105cf3bd0c603d22d1d899ff418be6d9.png

4ad2a76e4ad2fb0b5130292913851d5c.png

7460f11820fe2ee7e9372242fb766944.png

0d37aed1e8a1ce3220060ef4d8756ef5.png

Zbrush

在MARI里把置换贴图分开是非常重要的,因为接下来在zb里我会把细节转移到到模型上,并手动的创建额外的细节。在MARI创建的每个贴图我都会导入zb,但是每张贴图都会分别给予不同的层级。当我映射细节时,我通常会给一个比较高的置换强度已能够让细节显得非常的明显,然后我会把layer的滑块向回调整到我想要的程度。此时我已经知道我需要在UE4中使用三张normal贴图,一张是secondary的贴图,一张是tertiary的贴图,还有一张自定义的贴图,所以在zb中我将UV贴图大小设置成8192并分别将所有贴图导出成PNG格式。

96b14e0e6ec75445d58b1fcdb664c989.png

560048239aaad785101b361281420dc0.png

54601ee26b4b21e3706bf96ddf01993d.png

虚幻4

默认情况下UE4不接受8K贴图,所以为了能够导入这些大文件,我必须修改它的配置。你只需在你自己的项目里打开如下地址中的Device Profiles,nameofproject/ Saved/ Config/ Windows,并把每个MAXLODSize改成8192并重新启动即可。在快速修改完这个之后就能够导入8K大小的贴图了。

0dc7e4e2fa8eb763fcf8488e4ca4ba86.png

f2593f1e35ef39ab0c6865b491ac295e.png

80b714927ae06c80a8d0720c7359908c.png

之所以在UE4中使用三张法线贴图是为了能够分别操纵每个级别的细节,就像在zb中做的一样。为了达到这个目的,我首先需要将所有的贴图混合成一个单一的输入,所以我使用了BlendAngleCorrectedNormals节点。此外,每张贴图都有它自己的Constant3Vector作为parameter exposure;我这么做就能够分别的控制每个通道。这个方法能够让我不用离开UE4回到zb来修改法线贴图,所有的控制都能在UE4中完成。

a29adbf316fb5cd1ae91331ef06b98e1.png

在下面的这个GIF里你能看到我是如何分别控制每个通道的:

Gif1

61fad7cd18c0a391d7e317f5c0835353.gif

我决定将颜色贴图和我在MARI中做的一些遮罩贴图放在一起,这样我就能够分别的控制嘴唇和肉的颜色。这么做是非常有用的,因为这样一来我就能够使用不同的颜色变化,而不用离开UE4去打开PS或者MARI。同时我混合了颜色节点和菲涅尔以及AO贴图,这样我就能够在一个输出控制所有的内容。

104d07ff526288daf1e401f80847e18a.png

通过使用混合有遮罩的颜色贴图,我能够轻易的实时控制面部的不同方面:

7244dbddcee5b93bae2add8944f4e67f.gif

结论

这个方法的主要目的在于能够在不离开UE4的情况下去控制面部的不同方面。所以在大多数情况下它都非常有用并且非常节省时间。另外的目的不仅仅是表现质量,同时为了能够去看到一个实时渲染引擎是如何控制真实贴图和材质的。在50-60fps的帧率、1080p的分辨率,并且是一个高模的情况下,结果显示它表现的非常好,因为这是一个电影级别质量的测试。在几年前可能没人觉得这有可能。

原文链接:http://www.gad.qq.com/article/detail/32581?ADTAG=gad.tg.sh返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值