基于高度实现的雾效果,可以在一定程度上优化场景展示,本文基于cesium实现了一版线性高度雾并在此基础上添加了流动效果,大致思路如下
思路
1、纹理坐标还原成世界坐标
2、计算世界坐标相对于地面的高程值,以及相机坐标与片元之间的距离,并根据高程值以及距离计算雾气浓度
3、根据雾气浓度混合场景及雾颜色
4、流动效果则是添加了一张雾的噪声图,纹理采样噪声值作为雾气浓度的扰动系数,从而实现流动
效果展示
参考链接
Cesium中实现高度雾效果
Unity Shader PostProcessing - 11 - Depth Fog/Height Fog - 雾效/深度雾效/高度雾/深度+高度雾