VR开发中3D物体遮挡UI的解决方法

1、下载或复制要用的Shader代码

Shader来源博客地址:http://blog.csdn.net/u013032852/article/details/77642262


2、导入Unity中或新建脚本

VR开发中3D物体遮挡UI的解决方法

3、使用

新建一个Material,直接把shader托给Material,完成赋值

VR开发中3D物体遮挡UI的解决方法

4、使用环境和使用效果效果

在制作VR内容时,通常使用的都是UGUI,一般会将Canvas的render mode设置为world space,但是这样设置过后,因为UI是直接放在了场景里面,很容易被其他物体挡住,Unity官方的一个VR例子中给出了一个shader的解决方案,将如下的shader挂在材质上,并将这个材质赋予需要总是显示在所有物体前面的UI控件上,就可以解决这个问题。

使用前,Cube将Image遮挡了

VR开发中3D物体遮挡UI的解决方法

使用后,UI始终位于最前端

VR开发中3D物体遮挡UI的解决方法

VR开发中3D物体遮挡UI的解决方法

使用shader后UI和cube的位置没有变化,但UI显示在cube的前面

很简单的小功能,希望对大家有用。