UE5.7如何实现2D热力图
一、目录
概览
作为构成热点图强度的的笔刷的材质
动态修改的点位图(纹理渲染目标2D)
构成热力图的材质
可以控制整体生成流程的蓝图(利用笔刷将点位画到纹理渲染目标2D上)
二、详情
1.概览
实现2D热力图,需要一个显示热力图的材质,同时需要这个材质根据关卡的进程进行修改。为了这一点我需要一个画布,这个画布就是“纹理渲染目标2D”,这个画布的目的就是记录热力图对应的点位。
2.作为构成热力图强度的笔刷(材质):
热力图的效果是中间强,边缘弱的圆形,笔刷也是这样;
给与一个热点图的中心点位,与材质对应点位相减得到距离,距离越近越强,所以取反。最终得到的结果录入到自发光强度和不透明度
3.动态修改的点位图(纹理渲染目标2D)
内容浏览器中创建一个纹理渲染目标2D,无mip贴图,尺寸按自己的需要,地址X和地址Y为限制,渲染目标格式设定为需要的维度的个数
4.构成热力图的材质需要
一个Texture Sample来承接上面的纹理渲染目标2D,根据纹理的强度来选择对应的颜色,自发光颜色和不透明度
5.可以控制整体生成流程的蓝图(利用笔刷将点位画到纹理渲染目标2D上)
首先将笔刷和热力图材质变成动态实例,获取到对应的热力点的世界位置,根据对应矩阵转化,将对应的位置转换为笔刷上uv的位置,同时设置强度,大小之类的参数,最后将设置好的笔刷的动态实例利用Draw Material Render Target节点画到纹理渲染目标2D上。最后循环以上的内容。
