【UE4】制作战争迷雾效果
前期准备:
2个RT,2个画笔Mat,1个画板Mat
RT设置个大点的分辨率比如1024
画笔Mat:
这里要设置成Additive因为要连续绘制
另一个画笔Mat,Size略大一些就可以作为两层迷雾的底
这里算法取任意点和某点的距离得到一个Radial圆
画板Mat:
禁用DepthTest
这样它不会做深度测试和剔除,会渲染时挡住所有
项目设置:
加一个新channel
BP里BeginPlay:
Tick:
场景中放一块Plane Mesh,平埔到整个场景中,碰撞设置成刚新建的Fog
附上画板Mat
以上,Bp初始化时把RT都Clear了,创建俩动态材质,这是为了假如场景中BP很多都会影响战争迷雾时这样做,否则可以使用MPC
在Tick里检测发生移动时去发射射线检测是否碰到画板,碰到的话转换到UV坐标,传给画笔,上层画笔是连续绘制,下层画笔每帧清除,最终两个RT分别是这样
由于是连续绘制边缘模糊效果不太好,可以底层画笔与上层画笔的半径差异做大一些