学习笔记,不喜勿喷!侵权立删!祝愿生活越来越好!
制作思路:
方法一:
通过对材质勾选使用材质属性,用2个MakeMaterialAttributes进行BlendMaterialAttributes,混合的alpha蒙版来自于heightlerp,heightlerp可以再由heightlerpwithtwoheightmaps得到,这样就完成了降低贴图重复度的方法。实际上就是通过混合高度图的方式来打破贴图的重复度,并且确保两种地形材质符合从低洼的地方向比较高的位置变化,主要用到有通过高度混合的HeightLerp、HeightLerpwithtwoheightmaps。核心节点主要有三个,分别是heightlerp、heightlerpwithtwoheightmaps(通过混合2张高度图来输出)、BlendMaterialAttributes;
蓝图连接大体如下:
heighlerp来自于两张高度图的混合:
方法二:
贴图的重复度,不仅可以通过上面高度图作为alpha贴图去破坏它,我们也可以通过距离的变化去破坏它。主要是通过PixelDepth像素深度蓝图节点来获得摄像机到像素点的距离,让这个变化的距离除以一个值,来获得一个0到1之间的值,为了这个0-1的值变化不是太过明显,可以加上一个随着距离而变化的噪点贴图,这样得到的选区也是可以调节对比度的。实际上有一个相似的蓝图节点能够实现这个功能叫Distance_Blend。
两种方法的融合:
第一种方法是一个混合的高度图,第二种方法是一个随距离而变化的高度图,我们现在想把它们融合在一起,就是我离远了实际上我不想看得细节更清晰,离近了我想看清楚细节,也就是我希望贴图uv平铺的次数随着距离进行增加。当近的时候贴图平铺次数比较少方便观察细节,当远的时候不需要看得太清楚,可以改变平铺次数变多一些。由于我们需要重复用到相似的功能,所以我们可以把它们制作成材质函数来进行使用。
方法一、知识点:
1、HeightLerp
来自于官方帮助文档设计视觉、渲染和图形效果—材质—材质函数——材质函数参考—纹理处理
HeightLerp(高度插值)函数允许您根据高度贴图和过渡阶段值,在 2 个纹理之间执行线性插值。这允许您沿着发生插值的高度贴图来调整值。