1、首先,在Unity中,默认的3D Text渲染如图所示,图像可以被穿透且是双面显示的。
2、选中3D Text,可以看到其Text Mesh组件,以及使用的Font Material。为了让文字可被遮挡/单面显示,必须修改这两个地方。
3、关于实现原理和方法,在Unity的Wiki文档的3DText中有介绍。
4、在Shaders文件夹下创建一个Shader文件,如图所示。
5、按照Unity Wi氯短赤亻ki的说明,在Shader文件中粘贴如下代码。注意其中的Cull Back是和原本GUI/3D Text Shader的不同之处。
6、接着创建一个新的Material,选中新的Material,修改其Shader为刚刚创建的Shader。
7、接着打开原来的3D Text游戏物体,找到Text Mesh组件所引用的Font。
8、将该Font的Texture拖动到新创建的材质的Font Texture上。
9、此时材质已经准备好了,然后再次选中3DText游戏物体,将该材质拖动到其Mesh Renderer组件的Materials上。
10、最终可以看到如图效果,文字可以被遮挡,且单面显示了。