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



    使用这个新的材质即可。

相关推荐
●VON4 小时前
从系统亮度监听到 UI 重绘:Flutter for OpenHarmony TodoList 深色模式的端到端响应式实现
学习·flutter·ui·openharmony·布局·von
ellis19705 小时前
Unity中ScriptableObject用法整理
unity
XPii7 小时前
Photoshop应用——将图片变为素描效果
ui·photoshop
玉梅小洋8 小时前
Unity Muse 完整使用文档:Sprite+Texture专项
unity·ai·游戏引擎
雨季6668 小时前
构建 OpenHarmony 文本高亮关键词标记器:用纯字符串操作实现智能标注
开发语言·javascript·flutter·ui·ecmascript·dart
能源革命10 小时前
Three.js、Unity、Cesium对比分析
开发语言·javascript·unity
雨季66611 小时前
构建 OpenHarmony 应用内消息通知模拟器:用纯 UI 演示通知流
flutter·ui·自动化·dart
UI设计兰亭妙微12 小时前
兰亭妙微:以HTML前端、UI/交互/图标设计赋能数字孪生与大屏设计新标杆
前端·ui·用户体验设计
信徒favor1 天前
我用AI一次性生成3种UI原型(附提示词)
ui
timathy331 天前
Unity Addressable 实现Build时自定义剔除资源组
unity·游戏引擎