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



    使用这个新的材质即可。

相关推荐
CoderIsArt13 小时前
C#中UI 线程与 Dispatcher
开发语言·ui·c#
WiChP15 小时前
【V0.1B15】从零开始的2D游戏引擎开发之路
游戏引擎
TomEval1 天前
【Web UI 自动化】05 - KDT 模式原理与实现
前端·ui·自动化
简单Janeee1 天前
[Vue 3 从零到上线]-第九篇:更美更强——引入 UI 库与网络请求 (Axios)
网络·vue.js·ui
中国软件测试质量协会2 天前
奇林测试平台(kylinTOP)UI自动化测试能力深度解析
ui
greasyfork2 天前
Mac Sketch v2026.3 矢量图设计工具
macos·ui·sketch
zhchyun20082 天前
# 【Unity UI 进阶】仿 Element UI 打造企业级 Unity UI 组件库(06)
ui·unity·游戏引擎
中国软件测试质量协会2 天前
国产UI自动化测试工具的“技术代际“演进与自主可控之路
测试工具·ui·自动化
深念Y2 天前
NativeScript 移动端开发踩坑记录
前端·ui·vue·安卓·移动端·native·原生
晴天162 天前
从生成式 UI 到 Agent 驱动界面-Day32
ui