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

2025-09-29 02:41:50

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 Wiki的说明,在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 如何可被遮挡且单面显示

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

 

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

 

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

 

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

 

5、按照Unity Wiki的说明,在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、最终可以看到如图效果,文字可以被遮挡,且单面显示了。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢