Unity中WolrdSpace下的UI展示在上层

一、问题描述

Unity 中 Canvas使用World Space布局的UI,想让它不被3d物体遮挡,始终显示在上层。

二、解决方案

  1. 使用shader解决
    在 UI 的材质中禁用深度测试(ZTest),强制 UI 始终渲染在最上层。

    Shader "Custom/UI_NoDepthTest"
    {
    Properties { ... }
    SubShader
    {
    Tags {
    "Queue"="Transparent+1000" // 设置高优先级队列
    "RenderType"="Transparent"
    }
    ZWrite Off // 关闭深度写入
    ZTest Always // 始终通过深度测试
    ...
    }
    }

  2. TMP没有办法赋予新的material,使用内置的材质



    使用这个新的材质即可。

相关推荐
Aevget32 分钟前
界面组件Kendo UI for React 2025 Q3亮点 - AI功能全面提升
人工智能·react.js·ui·界面控件·kendo ui·ui开发
jtymyxmz5 小时前
《Unity Shader》10.1.4 折射
unity·游戏引擎
在路上看风景5 小时前
12. Burst
unity
测试界茜茜6 小时前
独立搭建UI自动化测试框架分享
自动化测试·软件测试·功能测试·程序人生·ui·职场和发展
平行云PVT7 小时前
实时云渲染解决UE5 像素流插件迁移及传输数据受限问题
unity·ue5·xr·实时云渲染·云桌面·像素流·云推流
熬夜敲代码的小N10 小时前
Unity WebRequest高级操作:构建高效稳定的网络通信模块
android·数据结构·unity·游戏引擎
Android技术之家11 小时前
安卓对外发布工程源码:如何实现仅暴露 UI 层
android·ui
萘柰奈11 小时前
Unity【小问题】----URP项目中加载AssetBundle中的预设体即使加载了依赖的材质依然是紫色的问题
unity·游戏引擎·材质
sunly_11 小时前
Flutter:实现多图上传选择的UI
flutter·ui
wonder1357912 小时前
UGUI合批分析和优化方法整理
unity·ugui