先描述一下问题:在3D场景中,我用Text Mesh做了个3D字体,放置在背景之前,但是在game视图里却被背景遮挡,而且换位置却可以显示,层次什么并没问题。
找了很多方法终于解决。3D Text的默认材质的shader是GUI/Text Shader,而且不可以去手动更改,有了GUI的穿透显示的特性。解决办法是替换一个Shader,替换掉3D Text上的默认材质。
从网上找到一段代码,写入新建的shader:
Shader "Custom/3D Text Shader" {
Properties {
_MainTex ("Font Texture", 2D) = "white" {}
_Color ("Text Color", Color) = (1,1,1,1)