Unity 3D Text 如何可被遮挡且单面显示
来源:网络收集 点击: 时间:2024-04-21首先,在Unity中,默认的3D Text渲染如图所示,图像可以被穿透且是双面显示的。


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

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

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

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

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

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

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

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

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

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、最终可以看到如图效果,文字可以被遮挡,且单面显示了。
注意事项如果遇到问题,可以在下面提出疑问。
UNITY版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_564612.html