模糊效果一直是游戏当中用的比较多的,比如一些景深啊,FPS游戏震屏时的模糊,还有些剧情跳转都用到了模糊效果。我们在unity中可以使用Shader来处理模糊效果。一般我们有两种模糊方式,一种是比较简单直接的均值模糊,一种是比较高级当然也有些难度的高斯模糊。简单方式有它的缺陷,难的方式也有它更好的体现效果。我们今天就先给大家用均值模糊来做一个案例。话不多说,先上效果图,原理接下来再说。
这是经过均值模糊后的效果,其实效果还行,最基本的模糊是有了,但是总感觉差了点味道,有种像近视眼的样子。均值模糊操作简洁明了,效果当然会打折扣。不过差强人意。接下来我们来说下这个原理。
这个均值模糊的原理其实很简单,就是直接用周围的像素求和取平均值。我们取一个点,然后拿到它周围的九个点。然后每个点的像素权重就是1 / 9了,这就是均值模糊了。是不是很简单,然后我们上代码看看。.
核心点就这两个函数了,值得注意的一个点就是_MainTex_TexelSize了,这个是啥呢?它的作用就是得到纹理的像素相关大小。比如它的X值是1/width,Y是1/height,Z是width,w是height;这个点还是非常关键的,需要留心。然后最终就进行采样就行。这个是最简单的模糊方式。为啥均值这些像素就能让图片模糊呢?其实这还是要说下我们正常的图片了,正常贴图片的时候。我们图片的每个像素点过渡是非常大的。那么如果像素点之前过渡的不是很明显的话,就会模糊图片了。所以我们用均值来操作某些像素点。让他们都相差不大,这样就能让图片模糊了。好了,本次的分享就到这里了
标签:模糊,效果,均值,Shader,像素,像素点,图片 From: https://www.cnblogs.com/rainy1unity/p/17997241