深度应用之景深

本文介绍了如何在游戏开发中通过Shader实现景深效果,使用均值模糊处理屏幕,然后针对特定区域进行清晰度调整,通过混合原纹理和模糊纹理模拟真实摄影的景深效果。

大家应该都用过手机或者摄像机拍过照片吧,一般情况下我们用手机拍照的时候画面都是一样清晰的,但是你如果用过单反拍照,你就知道当你拍照的时候,你可以进行聚焦,然后聚焦的地方会非常的清晰,但是没有聚焦的范围是比较模糊的,这也可以突出你要拍摄的是啥东西,那么这个效果就是景深。那么我们游戏当中如果有需要用到这个效果,我们该怎么实现它呢?这个时候,我们就可以通过Shader来一个屏幕后处理。就能达到我们想要的效果。我这边也做了一个景深的效果,一起来看看吧。

从图中可以看出,我画的圈中的那些数字是很清晰的,但是其他地方就比较模糊了,看不清了,近视眼的感觉。很明显,中间圆圈就是聚焦的地方了,聚焦范围就是能看到2排清晰的字那么宽。OK,接下来我们来看看这个效果要怎么做,原理又是什么?

首先我们需要把进行模糊处理,那么这个模糊怎么做呢?Shader做模糊效果有两种操作。一种是高斯模糊,一种是均值模糊,这里我们用后者来做就行,模糊效果一般,足够了。当然这是对屏幕进行的模糊处理,不要对物体进行处理。代码如下:

如果有不知道均值模糊的同学求看我前面有关的文章,接下来就需要应用到屏幕,也就是后处理了。代码如下:

后处理的操作就是这样的,接下来就是对一定的区域内进行清晰处理,因为刚开始的时候,全屏都是模糊的,现在需要体现景深效果,所以就要让特定的区域清晰,那么怎么做呢?原理就是根据焦点来混合原纹理和模糊纹理了。最终达到我们想要的效果。代码如下:

OK,这就是本次分享的内容了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值