UE虚拟纹理地形材质混合教程
今天讲的虚拟纹理材质混合不是贴图之间的混合,而是将运行时的虚拟纹理数据进行的转换,是真正意义上的材质融合。
前期准备
首先UE的项目设置中需要开启虚拟纹理支持。
如果不想在导入默认4096分辨率贴图时,贴图自动被转换成虚拟纹理,这里可以将自动虚拟纹理大小设置的大一些。
之后按照提示重启UE。
在UE中创建地形,并给地形设置好材质。
从Bridge上下载一些模型到UE工程中。
这里模型质量不一定是Nanite,其他质量的也可以,因为这里主要和虚拟纹理贴图有关,最后将贴图转换成虚拟纹理就可以。
材质环节
为了给更多材质使用虚拟纹理混合,可以制作一个通用的材质函数。
这里我放出我的blueprintue节点,可以直接在UE中创建材质函数,然后粘贴这些节点到自己的材质函数中。
将下载的两个模型放入场景中,此时还没有融合效果。
找到这两个模型的母材质球,复制一份后,将刚才制作的材质函数加入其中。
然后取代之前的母材质球。
现在还看不到效果,需要进一步设置。
右键纹理这里,创建两个“运行时虚拟纹理”,然后分别命名,一个用来控制虚拟纹理材质,一个用来控制虚拟纹理高度。
在刚才的材质函数中,加入对应的运行时虚拟纹理,需要注意对应虚拟纹理内容的设置,然后点击保存。
选中地形,在虚拟纹理中加入运行时虚拟纹理,然后点击“创建体积”。
对应的地形材质这里也要做一些修改。母材质这里需要连接一个“MakeMateriAlattributes”和“BreakMateriAlattributes”,得到最终的底色、法线、粗糙度和高度图,这里的高度是从世界位置中分离的Z轴向得到的。
调整一下两个石头的材质,虚拟混合这一部分。
场景中就可以看到最终的混合材质效果了。
最后说明一下,因为在混合时使用的是“运行时虚拟纹理”,所以可能在操作的过程中会有看不到混合效果的情况,这时候可以运行一下关卡或者把关卡可视性关闭再显示后,混合效果就又可以看到了。