2023-8-16-黑客帝国觉醒项目的材质如何套用

在let‘s go rpg系列教学中演示了用quixel mixer配合Ben Cloward的WorldAlignedTexture教学解决了瓦片mesh阵列多样化,这个技术可以解决类似柳林故宫建筑群的屋顶材质平铺重复问题,但和matrix项目中的block、brick不是一个概念。


​​​​​

在matrix中如下图看到的砖块(brick)以及大的石块细线(block),他们的分割效果并不是建模完成的,也就是说它们不是由一个个砖块拼接起来的,所以不能套用上述的技术。

要对少量建筑、部件做这种效果并不难,比方说上图中的红砖,其底层的base color就是大片的砖块,在basecolor贴图上面已经做了充分的做旧、侵蚀效果。进一步的话可以给随机的uv偏移值来拾取贴图上不同的部分。那么有没有必要用matrix的这套材质系统呢?

先来看看它能做些什么效果。grime ground可以根据实例在地面的相对高度添加大片的灰尘。主要的参数就如图中的这俩。它会受到物体在世界中的绝对坐标影响。

grout相当于美缝剂,像这次装修给接缝打白胶一样,激活它能对砖块的缝隙修改颜色、提亮。

grime drip水滴侵蚀污渍,集中在砖缝上。

grime crevice是物体几何接缝处的污渍。

grime broad是对接缝扩展开的一圈区域加灰尘,下图为加和不加的效果区分,蛮明显的。

对于block,grime drip水渍的效果十分逼真。

综上可以看出这套材质系统能做出很多让人烧脑的细节,那么现在来看看使用的条件是什么。

1.直接在ue中创建一个立方体,给基本的block材质,并不好控制,uv需要到dcc软件去做。并且目前看来必须得做两套uv,在第二套uv中做调整才行,将ue中的udim贴图导出会得到一个序列的png贴图,在blender uv中创建new image勾选tile,n键调出小窗口在image中可以看到udim,导入全选png序列blender会自动组装成udim格式。由于整个贴图有180mb,所以在切换uv窗口时会有些卡。

2.前文提到的grime drip、broad、crevice并不是材质系统有什么神奇的特异功能可以定位出边缘、接缝,而是需要通过参数中的packedA texture赋予相应的遮罩贴图。我暂时不清楚如何获取这些遮罩,推测应该是可以通过substance painter自动导出的,在西部世界系列教学中演示过对一扇门烘焙后手动制作除漆、污渍、高光遮罩,利用matrix的这套系统根据epic官方示范解说,这个packedA texture是通过一套机制自动生成的。

2023-8-17更新:经过我大半天对matrix项目中的一些部件做解析,现在可以大概来谈谈这四个遮罩了。

1.curvature/crevice occlusion.下图左为matrix项目中的packedA texture在材质debug模式下打开蓝色通道的效果,与我将此模型导出后在substance painter中烘焙curvature贴图效果上有些近似,可以看出来都是对边缘(棱)做遮罩,不过左边显然更“自然”不像右边几乎就是对边缘在描边。这个遮罩与damage edge连接,目前看来它是最难出效果的遮罩,在反复摸索后发现,发现影响它的最主要参数是curve parameters,要勾选后对下面四个参数进行调节,只调节Amount MFDE效果甚微,不过从现实角度来说,大部分建筑很少有明显的边缘刮伤。

  1. crevice occlusion/ao,下图一左为matrix中的alpha通道显示的ao贴图,右边为我在substance painter中烘焙得到的ao贴图,效果几乎完全相同。

ao贴图如上面的遮罩所示,影响的是接缝、凹槽缝隙的污渍,这里主要控制的参数依旧是amount以及ao parameters下面的四个参数。

我在摸索初期把ao和curvature搞混了,ao贴图反相部分的遮罩是真正的接缝处,而curvature是物体的边缘。下图2是ao和curvature的对比。

3.large ao/broad occlusion,下图左为matrix项目中的packedA texture在材质debug模式下打开alpha/绿色通道的效果,与我将此模型导出后在substance painter中烘焙ao贴图效果上有些近似,其中绿色通道的遮罩(large ao),黑色部分覆盖范围要更大一些,可以看出来这个遮罩分布在物体的凹槽处。

相对于ao,large ao贴图起到了对物体凹槽、自身遮挡区域的放大作用,下图左为开启默认large ao右为没有开启,可以看到暗部在遮挡处的细微区别。

4.最后是drips对应红色通道,我观察了4个mesh的drips遮罩,除开金属大门,其他4个可以看出来和物体高度有一定关系,同时还受到凹凸的影响,这显然不是基础的贴图能搞出来的效果,position贴图可以控制遮罩在一个轴向上的分布。于是我想到了substance painter中的智能遮罩。

比如下图中这个mesh,添加dirty soft edges遮罩后再反转遮罩,可以发现其效果与matrix中的curvature非常相似了!这里补充一下,在blender中物体的uv若是udim,substance painter导入要注意udim选项,下图中的模型输出质量4096时更换智能遮罩会卡顿,不知道是和模型的面数有关还是和udim uv有关。在学习阶段,使用低质量求快即可。另外今天下午的复盘测试遮罩不顺利,ue一直卡,帧率不到10,动不动崩溃,gpu crashed or d3d device removed 报错这个,重启一次也不解决本来准备入坑要查这个问题,还替换了工程现在破案了,原因出在substance painter上,开ue的时候不能同时开painter,不然就会出现卡、崩溃的问题。

substance painter导出时选择2d,即可导出当前的遮罩贴图。

到此4个贴图总结完毕,如何制造对应他们效果的智能遮罩是之后要攻克的技术难点。另一方面是如何制作uv,可以看到matrix项目中的mesh都是两套uv,第一套是用于上面那4个遮罩贴图的,第二套则是用于block、brick构成的。

经测试,在摆uv时,用不着底图导入4096像素的,1024也是可以的,这样可以缓解udim卡机问题,估计512也没问题。可以看到有一撮uv放置在远端,它们是在构成建筑时被相邻部件遮挡看不到的面,所以无所谓。要做的就是正面看得到的部分,如何对不同部分选取不同规格的uv,这是需要之后多个实例尝试后才能得出结论的。

2023-8-21-贴吧放开2000页帖子记录重拾爬虫拼凑当代记忆 2023-8-3-Ben-Building-Worlds-In-Unreal地形材质系列1

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×