# unity shader 后期轮廓(更新中)

背景

使用屏幕后处理,制作轮廓效果.
(这里尝试使用shader Graph展示,)


效果

在这里插入图片描述

第一步

在这里插入图片描述
在场景相机渲染前(写在OnPreRender()里),使用一个额外的相机先进行一次渲染,把需要轮廓显示的物体渲染出来,其余不渲染,为了方便表示和加快渲染速度。需要轮廓显示的物体渲染为白色。得到类似于上图的渲染纹理。
额外的相机功能就到此为止.

第二步

在这里插入图片描述

在场景相机渲染完成后进行后处理(写在OnRenderImage()里,场景相机渲染纹理 假设是蒙拉丽莎),拿到第一步 得到的渲染纹理,白色区域渲染为渲染为红色(这里轮廓采用红色),其余区域使用场景相机渲染纹理。
到这一步我们发现,红色不透明的,那么我们使用lerp方法与场景相机渲染纹理进行一次插值计算,而插值则控制红色区域的不透明度显示。

第三步

轮廓?
我们这只是叠加了一个颜色显示区域,并没有轮廓。
做到这里,已经很清楚了,我们只需要控制额外相机的渲染纹理(那张黑白图),就可以控制轮廓显示区域。
这里我们 扩大一圈白色区域再减去之前的白色区域,不就得到轮廓显示区域了。

在这里插入图片描述

如果扩大时候也可以进行模糊计算,可以得到更好的效果。
关于模糊计算,后面更新新的文章。

在这里插入图片描述

(使用shader Graph真的是太直观方便了,用来展示原理,和尝试性制作shader)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值