Bloom特效是游戏中很常见的效果,这种特效可以模拟真实摄像机的一种图像效果,它会让画面中较亮的区域扩散到周围的区域中,造成一种朦胧的效果。
下图是原图:
下图是bloom的效果图:
Bloom的实现原理:
首先根据一个阈值提取出图像中的较亮区域,把他们存储在一张渲染纹理中,再利用高斯模糊对这张渲染纹理进行模糊处理,模拟光线扩散的效果,最后再将其和原图像进行混合,得到最终的效果。
首先编写脚本:
1.继承前面写好的后处理框架基类:
public class Bloom : PostEffectsBase {
2.声明该效果需要的shader并创建相应材质:
public Shader bloomShader;
private Material bloomMaterial = null;
public Material material {
get {
bloomMaterial = CheckShaderAndCreateMaterial(bloomShader, bloomMaterial);
return bloomMaterial;
}