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,使用内置的材质



    使用这个新的材质即可。

相关推荐
兰亭妙微UI设计公司42 分钟前
兰亭妙微UI设计公司分享:EQUA 智能健康生态系统 UI/UX 设计深度解析
ui·交互
Cx330❀9 小时前
Qt 常用控件属性与底层机制详解:从窗口半透明、浮点数陷阱到 QSS 与焦点策略
qt·ui·图形渲染
小小数媒成员10 小时前
UGUI 性能优化(详细,全,深入)
开发语言·unity·游戏引擎
Cx330❀10 小时前
Qt 常用 UI 控件详解:从QPushButton到QLabel 核心用法解析
qt·ui·图形渲染
传奇开心果编程1 天前
【ArkUI 练中学】第15课:UI 界面设计与实战
学习·ui·华为·harmonyos
HwJack201 天前
【HarmonyOS开发小实践】ArkUI 动画系统属性动画、显式动画与路径动画
ui·性能优化·harmonyos
林川~011 天前
Unity新输入系统使用笔记
unity·input system
传奇开心果编程1 天前
【Flutter入门练中学】第2课:布局系统
学习·flutter·ui
传奇开心果编程1 天前
【Jetpack Compose基础语法学与练】第8课 rememberSaveable,页面旋转/系统重建保留状态
android·学习·ui·kotlin·android jetpack
xy34531 天前
Axure 9.0 中继器核心结构
前端·ui·html·axure·原型·产品设计