解决VR中UGUI world space UI会被其他物体遮挡的问题
来源:互联网 发布:汉化软件安卓版下载 编辑:程序博客网 时间:2024/06/06 03:15
转载自:解决VR中UGUI world space UI会被其他物体遮挡的问题
http://www.taidous.com/thread-41442-1-1.html
(出处: 【泰斗社区】-专注互联网游戏和应用的开发者平台)
在制作VR内容时,通常使用的都是UGUI,一般会将Canvas的render mode设置为world space,但是这样设置过后,因为UI是直接放在了场景里面,很容易被其他物体挡住,Unity官方的一个VR例子中给出了一个shader的解决方案,将如下的shader挂在材质上,并将这个材质赋予需要总是显示在所有物体前面的UI控件上,就可以解决这个问题。
Shader "UI/Overlay"{Properties{[PerRendererData] _MainTex ("Font Texture", 2D) = "white" {}_Color("Tint", Color) = (1,1,1,1)_StencilComp ("Stencil Comparison", Float) = 8_Stencil ("Stencil ID", Float) = 0_StencilOp ("Stencil Operation", Float) = 0_StencilWriteMask ("Stencil Write Mask", Float) = 255_StencilReadMask ("Stencil Read Mask", Float) = 255_ColorMask ("Color Mask", Float) = 15}SubShader{LOD 100Tags{"Queue" = "Transparent""IgnoreProjector" = "True""RenderType" = "Transparent""PreviewType"="Plane""CanUseSpriteAtlas" = "True"}Stencil{Ref [_Stencil]Comp [_StencilComp]Pass [_StencilOp] ReadMask [_StencilReadMask]WriteMask [_StencilWriteMask]}Cull OffLighting OffZWrite OffZTest AlwaysOffset -1, -1Blend SrcAlpha OneMinusSrcAlphaColorMask [_ColorMask]Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"#include "UnityUI.cginc"struct appdata_t{float4 vertex : POSITION;float2 texcoord : TEXCOORD0;float4 color : COLOR;};struct v2f{float4 vertex : SV_POSITION;half2 texcoord : TEXCOORD0;fixed4 color : COLOR;};sampler2D _MainTex;float4 _MainTex_ST;fixed4 _Color;fixed4 _TextureSampleAdd;v2f vert (appdata_t v){v2f o;o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);o.color = v.color * _Color;#ifdef UNITY_HALF_TEXEL_OFFSETo.vertex.xy += (_ScreenParams.zw-1.0)*float2(-1,1);#endifreturn o;}fixed4 frag (v2f i) : SV_Target{fixed4 col = (tex2D(_MainTex, i.texcoord) + _TextureSampleAdd) * i.color; clip (col.a - 0.01);return col;}ENDCG}}}
阅读全文
0 0
- 解决VR中UGUI world space UI会被其他物体遮挡的问题
- 解决VR中UGUI world space UI会被其他物体遮挡的问题
- UGUI气泡的遮挡问题研究与解决
- 解决SurfaceView调用setZOrderOnTop(true)遮挡其他控件的问题
- 解决SurfaceView调用setZOrderOnTop(true)遮挡其他控件的问题
- 【unity3d】解决NGUI在VR·cardboard中UI分屏的问题
- UGUI中UI穿透问题
- 解决jquery-ui-autocomplete选择列表被Bootstrap模态窗遮挡的问题
- 解决被遮挡问题
- List会被遮挡问题
- android GridView 在TV上解决item放大时候,被其他item遮挡,单纯使用bringToFront无法解决的问题
- 解决div被flash遮挡的问题
- 解决EditText 被部分遮挡的问题
- 设置HTC VIVE UI不被物体遮挡
- 显示被遮挡的人物或者物体
- (十七)unity4.6学习Ugui中文文档-------技巧-Creating a World Space UI
- 关于NGUI中UI遮挡特效问题
- Unity3D——粒子系统被2D的NGUI或者UGUI遮挡的问题
- Python多进程编程
- Spring之AOP
- Java爬虫(一)--工程的构建
- jquery属性过滤选择器[attr=value]、[attr!=value]、[attr^=value]、[attr$=value]、[attr*=value]、[attr|=value]
- Maven构建SpringMVC环境报错“java.lang.ClassNotFoundException: org.springframework.web.servlet. DispatcherSe
- 解决VR中UGUI world space UI会被其他物体遮挡的问题
- centos源码安装Nginx问题解决
- hdu1041Computer Transformation(递推+大数模板)
- 【数据结构专题-03】树
- IndefiniteParameter
- elasticsearch+mongodb 搜索框架
- Laravel开启跨域请求
- ubuntu下安装selenium
- 07:输出浮点数