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



    使用这个新的材质即可。

相关推荐
死也不注释4 小时前
【unity编辑器开发与拓展EditorGUILayoyt和GUILayoyt】
unity·编辑器·游戏引擎
前端开发与ui设计的老司机4 小时前
从UI设计到数字孪生实战应用:构建智慧金融的风险评估与预警平台
ui·金融
小赵小赵福星高照~5 小时前
iOS UI视图面试相关
ui·ios·面试
float_六七6 小时前
Vue:构建高效UI的渐进式框架
javascript·vue.js·ui
Zillionnn1 天前
Unreal Engine 自动设置图像
游戏引擎·虚幻
1 天前
Unity开发中常用的洗牌算法
java·算法·unity·游戏引擎·游戏开发
马特说1 天前
Unity VR手术模拟系统架构分析与数据流设计
unity·系统架构·vr
共享ui设计和前端开发人才1 天前
UI前端与数字孪生结合案例分享:智慧城市的智慧能源管理系统
前端·ui·智慧城市
甜甜不吃芥末2 天前
Windows 应用程序的 UI 框架:WPF、WinUI 3 和 UWP的差异区别
windows·ui·wpf
共享ui设计和前端开发人才2 天前
UI前端大数据可视化实战技巧:如何利用数据故事化提升用户参与度?
ui