阿赵UE学习笔记——13、贴花
大家好,我是阿赵。
继续学习虚幻引擎的使用。这次介绍一种特殊的材质类型,贴花。
一、获取贴花资源
在没有分析贴花的原理之前,可以先去获得一些免费的贴花资源来使用,比如在Quixel上面就有专门的一个资源类别是Decals:
选择其中的一种贴花资源,然后可以下载并导入到项目:
导入到项目之后,会发现这个贴花资源包括了一个材质实例和三张纹理贴图。
把材质实例直接拖动到场景里面,就会发现,地面上出现了一个挺好看的细节,这个就是贴花:
然后我们可以把贴花拖动,拖到斜坡的位置,会发现贴花会沿着斜坡变化,有一种投影的效果:
二、贴花的原理分析:
这个贴花效果,有点类似于Unity的投影器的效果。
展开这个贴花对象的细节面板,会看到有一个贴花的组件:
这里可以调节这个贴花对象的一些效果。
不过这个组件是怎样出现的呢?
正常的材质实例是不能拖动到场景成为贴花的:
我把材质实例的父项改成M_MS_Decal_Material
然后把贴图附上:
这时候,贴花就神奇的生效了,可以拖到场景里面。
很显然,一切的秘密就在刚才选择的那个父项的材质上面:
在内容管理器里面搜索一下,找到这个材质:
双击打开之后,里面连接的节点比较复杂,暂时也不需要去看,只需要看看左边的细节面板,里面有一个材质域,这里选择的是延迟贴花:
为了验证是不是这个选项起的作用,所以我也自己建了一个材质文件,然后简单拖了2张贴图进去节点,然后把材质域改成延迟贴花,把混合模式改成半透明:
把这个材质创建一个材质实例:
这次材质实例就可以变成贴花拖到场景里面了。至于没有半透明效果,是因为我在材质里面并没有处理透明通道的计算:
到此为止,就已经能确定,UE的这个贴花,就是靠材质里面的材质域选项决定的。所以我们也可以制作属于自己效果的各种贴花。
三、选择不接受贴花
有时候,我们会在场景里面摆一些其他的装饰品,比如我这里摆了一个立方体。但现在很明显贴花的效果叠在立方体上面是错误的。
我不想立方体接受贴花效果,所以打开立方体的细节面板,找到渲染——高级:
展开高级选项,会找到一个接收贴花的勾选项,把这个勾选去掉:
现在立方体就不再接受贴花的效果,看起来就比较的正常了。