您的位置:首页 > 移动开发 > Unity3D

UnityShader实现遮挡描边

2017-11-27 15:24 253 查看
第一篇博客,分享一个有趣的功能:实现物体被遮挡时描绘出物体的边缘。这种效果在游戏中很常见,也是偶然在网上看到别人的实现于是自己总结并改进了一下。

先上几张效果图,也是自己方案的提升吧:



第一种是最简单的实现方式:通过stencil的来判断物体边界。当然缺点也显而易见:没有被遮挡的部分也被高亮了。



第二种运用depthmap和后渲染的方法来判断物体被遮挡的部分,有效解决了第一种的缺点。但是觉得还是有点不太满意啊,因为被遮挡的物体没法互相再次遮挡实现描边。



第三种,可能有点过于眼花缭乱了,乍一看好像还没第二种好。当然,效果总是用来满足需求的嘛,第二种与第三种可以满足产品的各种需求。(手动滑稽)第三种原理上和第二种没太大差别,主要对输出的图像再次渲染实现多层遮挡的效果。

原理稍后整理上传
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Shader Unity 图形渲染