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



    使用这个新的材质即可。

相关推荐
Larry_Yanan4 小时前
Qt多进程(五)QUdpSocket
开发语言·c++·qt·学习·ui
我命由我123455 小时前
Photoshop - Photoshop 工具栏(43)标尺工具
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
沉默金鱼6 小时前
Unity实用技能-模型
unity·游戏引擎
阿里云云原生6 小时前
AgentRun:如何利用 AI Agent 构建现代化的舆情分析解决方案?
人工智能·unity·游戏引擎
在路上看风景7 小时前
2.8 预渲染
unity
开心-开心急了7 小时前
ai + fluent_ui 实现自定义winUI风格窗口
flutter·ui
老朱佩琪!8 小时前
Unity代理模式
unity·游戏引擎·代理模式
工业HMI实战笔记8 小时前
HMI “卡成 PPT” 怎么办?—— 性能优化指南
ui·性能优化·自动化·交互
技术小甜甜9 小时前
【Godot】【入门】GDScript 快速上手(只讲游戏里最常用的 20% 语法)
android·游戏·编辑器·游戏引擎·godot
安当加密11 小时前
SYP 密码管理器:基于 UI 自动化的 CS 代填如何做到“安全可用”?
安全·ui·自动化