Unity 3D Text 如何可被遮挡且单面显示

时间:2024-10-11 19:09:06

1、首先,在Unity中,默认的3D Text渲染如图所示,图像可以被穿透且是双面显示的。

Unity 3D Text 如何可被遮挡且单面显示
Unity 3D Text 如何可被遮挡且单面显示

2、选中3D Text,可以看到其Text Mesh组件,以及使用的Font Material。为了让文字可被遮挡/单面显示,必须修改这两个地方。

Unity 3D Text 如何可被遮挡且单面显示

3、关于实现原理和方法,在Unity的Wiki文档的3DText中有介绍。

Unity 3D Text 如何可被遮挡且单面显示

4、在Shaders文件夹下创建一个Shader文件,如图所示。

Unity 3D Text 如何可被遮挡且单面显示

5、按照Unity Wi氯短赤亻ki的说明,在Shader文件中粘贴如下代码。注意其中的Cull Back是和原本GUI/3D Text Shader的不同之处。

Unity 3D Text 如何可被遮挡且单面显示

6、接着创建一个新的Material,选中新的Material,修改其Shader为刚刚创建的Shader。

Unity 3D Text 如何可被遮挡且单面显示

7、接着打开原来的3D Text游戏物体,找到Text Mesh组件所引用的Font。

Unity 3D Text 如何可被遮挡且单面显示

8、将该Font的Texture拖动到新创建的材质的Font Texture上。

Unity 3D Text 如何可被遮挡且单面显示

9、此时材质已经准备好了,然后再次选中3DText游戏物体,将该材质拖动到其Mesh Renderer组件的Materials上。

Unity 3D Text 如何可被遮挡且单面显示

10、最终可以看到如图效果,文字可以被遮挡,且单面显示了。

Unity 3D Text 如何可被遮挡且单面显示
© 手抄报圈