VR中image或者文字一直浮现在眼前

  • Canvas的RenderMode为WorldSpace

  • image的操作方式 World Space canvas on top of "everything" ? - Questions & Answers - Unity DiscussionsIs it possible to render a world space canvas on top of everything? Example, health bars on top of all 3D objects.https://discussions.unity.com/t/world-space-canvas-on-top-of-everything/128165

    cs 复制代码
    Shader "UI/Default_OverlayNoZTest"
    {
        Properties
        {
            [PerRendererData] _MainTex("Sprite 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
    
            _CullMode ("Cull Mode", Float) = 0
            _ColorMask("Color Mask", Float) = 15
        }
    
        SubShader
        {
            Tags
            {
                "Queue" = "Overlay"
                "IgnoreProjector" = "True"
                "RenderType" = "Transparent"
                //"PreviewType" = "Plane"
                //"CanUseSpriteAtlas" = "True"
            }
    
            Stencil
            {
                Ref[_Stencil]
                Comp[_StencilComp]
                Pass[_StencilOp]
                ReadMask[_StencilReadMask]
                WriteMask[_StencilWriteMask]
            }
    
            Cull [_CullMode]
            ZWrite Off
            Lighting Off
            Fog
            {
                Mode Off
            }
            ZTest Always
            Blend One OneMinusSrcAlpha
            ColorMask [_ColorMask]
    
            Pass
            {
                CGPROGRAM
                #pragma vertex vert
                #pragma fragment frag
                #include "UnityCG.cginc"
    
                struct appdata_t
                {
                    UNITY_VERTEX_INPUT_INSTANCE_ID
                    float4 vertex : POSITION;
                    float4 color : COLOR;
                    float2 texcoord : TEXCOORD0;
                };
    
                struct v2f
                {
                    UNITY_VERTEX_INPUT_INSTANCE_ID
    			    UNITY_VERTEX_OUTPUT_STEREO
                    float4 vertex : SV_POSITION;
                    fixed4 color : COLOR;
                    half2 texcoord : TEXCOORD0;
                };
    
                fixed4 _Color;
                fixed4 _TextureSampleAdd; //Added for font color support
    
                v2f vert(appdata_t IN)
                {
                    v2f OUT;
    
                    UNITY_INITIALIZE_OUTPUT(v2f, OUT);
    			    UNITY_SETUP_INSTANCE_ID(IN);
    			    UNITY_TRANSFER_INSTANCE_ID(IN, OUT);
    			    UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);
                    
                    OUT.vertex = UnityObjectToClipPos(IN.vertex);
                    OUT.texcoord = IN.texcoord;
                    #ifdef UNITY_HALF_TEXEL_OFFSET
            OUT.vertex.xy += (_ScreenParams.zw - 1.0)*float2(-1,1);
                    #endif
                    OUT.color = IN.color * _Color;
                    return OUT;
                }
    
                sampler2D _MainTex;
    
                fixed4 frag(v2f IN) : SV_Target
                {
                    half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color;
                    //Added for font color support
                    clip(color.a - 0.01);
                    return color;
                }
                ENDCG
            }
        }
    }

    shader逻辑在项目中创建并附加到材质球,并把材质球赋值给Material

  • TextMeshPro为字体创建的sdf材质进行修改 Overlay

  • 改为

相关推荐
BBTSOH159015160448 天前
VR每日热点简报2026.2.25
人工智能·机器人·vr·具身智能·遥操作
程序员敲代码吗8 天前
A-Frame与WebXR:构建丰富的VR及AR体验
ar·vr
BBTSOH159015160449 天前
VR每日热点简报2026.2.24
人工智能·meta·vr·虚拟现实·热点
kUhzIPVBnE13 天前
基于VSG并网仿真的转动惯量和阻尼自适应控制探索
vr
mtouch33313 天前
三维沙盘系统配置管理数字沙盘模块
人工智能·ai·ar·vr·虚拟现实·电子沙盘·数字沙盘
犽戾武19 天前
在 Quest 上用 OpenXR + MediaCodec + OES 外部纹理做一个“低延迟视频面板”(48小时的编码复盘)
linux·c++·嵌入式硬件·vr
犽戾武19 天前
准备工作:OpenXR Sample 示例工程“去掉 UI 渲染”& RK3588→Windows 低延迟 UDP 视频链路
linux·c++·ubuntu·vr
小贺儿开发22 天前
Unity3D VR党史主题展馆
unity·人机交互·vr·urp·展馆·党史