[Unity 3d] Super-Blur (Unity高斯模糊高级版)- GitHub

一个非常非常实用的 (Gauss Blur) 高斯模糊 解决方案。以及一个非常棒(Fade+Blur)的场景过渡效果。

GitHub 上的工程多如繁星,有些好的仓库,但凡不经意间错过了就很难找回,故稍作采撷,希望能帮助到有心人。
本文集以一个小的功能点为单位行文,也便于拾取罢!

简介:

笔者今天推荐的仓库叫 Super-Blur ,按仓库作者意思应该叫做 超级高斯模糊 ,哈哈。
这个高斯模糊组件完善度高,效果好,学习成本基本为0 ,到手即用。

功能:

  • 支持直接将渲染的高斯模糊效果覆盖相机画面。
  • 支持将渲染的高斯模糊效果输出到UI上。
  • 支持如下参数个性化定制:
  1. Render Mode - 选择将模糊效果作为 相机后期效果(PostEffect)或者仅仅是输出到UI上。
  2. Kernel Size - 更大的内核(Kernel)更好的模糊效果但是更高的性能耗费.
  3. Interpolation - 平滑过渡你的高斯模糊.
  4. Downsample - 控制缓冲分辨率 (0 = 无向下取样, 1 = 半分辨率... 以此类推.).
  5. Iterations - 迭代次数,更好的模糊效果,但需要消耗更多的性能。.
  6. Gamma Correction - 启用伽马校正以在Gamma色彩空间中生成正确的模糊。 如果使用线性颜色空间,请禁用此选项。

使用:

笔者将这个高斯模糊用在场景过渡上,也即是在场景过渡时我们可以籍此搞出漂亮的模糊效果来。

  1. 创建一个 Image 组件并铺满全屏。
  2. 将 SuperBlur 挂载在 MainCamera,指定对应材质球。
  3. 将 RenderMode 改为 UI Only,性能稍好。 (该模式下渲染的实时画面将仅仅输出到UI上,Screen 上的画面被中断。但此时Image覆盖了屏幕所以看不到画面中断的效果)
  4. 控制 Interpolation 实现 模糊效果 渐变过渡。
  5. 控制 step1 中的 Image Color 由白到黑插值 完成场景渐暗的效果。

PS:

  • RenderMode中 Screen 模式 渲染的模糊效果将作为 相机的 后期效果叠加在相机上。不会通过 Shader 的配置输出到 UI。
  • UI Only 上面已经说了,我们说下 UI 模式,这个模式是将 渲染的模糊效果 通过材质球输出到 UI 上,但不中断 Camera 画面输出到屏幕。这在 Image 不铺满全屏时能体验到明显区别。
  • 动图中的 Demo 可以留言索取!

演示:

Gaussblur

Tips:

  • 由于是模拟场景 Fade 过渡,每一次 Fade 达到最黑的时候改变一下Cube 位置,假装我们在那个时候切换了场景。
  • Gif 录制效果不代表真实效果~

链接:

PavelDoGreat/Super-Blur: Screen and UI gaussian blur for Unity

结语:

对这个插件,如果你有更妙的使用情景,笔者愿闻其详,洗耳恭听哟!

本文集持续更新ing,喜欢记得点赞关注哦!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,350评论 0 11
  • 首先感谢吴军老师通过家书来分享自己对六大问题的真知灼见。 第1天: 人生哲学 第2天: 洞察世界 第3天: 对待金...
    演凡阅读 390评论 0 0
  • 早上抄写《山居秋暝》,很喜欢这首诗,意境美,家里住在山旁边,月光洒在松树上,明亮而清新,抬头呆呆地看,想要...
    李一荷读书阅读 126评论 2 2
  • 1. 逗号表达式的一般形式 PS: 逗号运算符优先级最低 逗号运算符的结合性从左至右 逗号表达式的值等于最后一个表...
    苦瓜1512阅读 792评论 0 0