Unity 之 让某个物体(GameObject)总是显示在其他物体的前面,而不被遮挡的 2种方式
-
效果图(球永远显示在方块前面)文章最后会附上 项目源码下载地址 备注:资源是URP的,普通平台可按文章修改或修改资源材质
-
实现原理
方法1 2个 Camera 的方法关键是使用:Camera 的 Depth,Culling Mask,和 Clear Flags 设置为 Depth only 来实现 方法2 通过 Shader 对 z 进行对应处理,从而到达显示在最前面的效果
- 过程讲解
方法1
添加两个 Camera ,一个用来主渲染,一个用来层次渲染。新添加一个layer ,取名 ShowFront,Camera 的 Clear
Flags 设置为 Depth only, Culling Mask 之渲染 ShowFront 层,Depth 的数值比 Main
Camera 大,具体根据实际情况调整即可,把 目标物体的 layer 设置为 ShowFront ,即可看到后面的 Sphere
显示在前面了
方法2
新建一个shader材质,新建一个材质球,添加到目标物体上
- 文章最后会附上 项目源码下载地址 备注:资源是URP的,普通平台可按文章修改或修改资源材质