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



    使用这个新的材质即可。

相关推荐
SmalBox1 小时前
【渲染流水线】[几何阶段]-[几何着色]以UnityURP为例
unity·渲染
卖寂寞的小男孩2 小时前
Spark执行计划与UI分析
ui·ajax·spark
★YUI★1 天前
学习游制作记录(背包UI以及各种物品的存储)8.12
学习·游戏·ui·unity·c#
☆平常心☆1 天前
Unity数据可视化图表插件XCharts
unity·信息可视化
1 天前
Unity 遮挡显示效果 Shader
unity·游戏引擎
SmalBox1 天前
【渲染流水线】[几何阶段]-[曲面细分]以UnityURP为例
unity·渲染
向宇it1 天前
【unity实战】在Unity中实现不规则模型的网格建造系统(附项目源码)
游戏·3d·unity·c#·游戏引擎
凯子坚持 c1 天前
虚拟机一站式部署Claude Code &可视化UI界面
ui·编辑器·vim
郝学胜-神的一滴2 天前
Horse3D引擎研发笔记(四):在QtOpenGL下仿three.js,封装EBO绘制四边形
c++·3d·unity·游戏引擎·godot·图形渲染·虚幻