Unity 进阶 之 让某个物体(GameObject)总是显示在其他物体的前面,而不被遮挡的处理方法整理
一、简单介绍
Unity中的一些知识点整理。
本节简单介绍让某个物体(GameObject)总是显示在其他物体的前面,而不被遮挡的处理方法,这里主要介绍三种方法,一种是多个 Camera 渲染处理,另一种是使用 shader 进行渲染处理,还有一种思路是 多个Camera + RenderTexture,如果你有新的方式也可以留言,多谢。
二、实现原理
1、多个 Camera 的方法关键是使用:Camera 的 Depth,Culling Mask,和 Clear Flags 设置为 Depth only 来实现
2、通过 Shader 对 z 进行对应处理,从而到达显示在最前面的效果
3、第三种方式是:多个Camera ,使用 RenderTexture 进行获取 Camera (Culling Mask) 指定的图像,可以渲染到 screen space-overlay RawImage,这里只做说明,不详细了
三、注意事项
1、可以根据实际需要可以借鉴使用
四、效果预览
1、多 Camera
2、shader
带光照影响
不带光照影响
五、实现步骤
多个 Camera 实现物体渲染在最前
1、打开 Unity ,新建空工程
2、场景布置如图,添加两个 Camera ,一个用来主渲染,一个用来层次渲染,两个Camera的位置保持一致,所以作为父子 关系,可以根据需要进行调整
3、新添加