TextMesh的3D文字会穿透过3D模型

TextMesh的3D文字会穿透过3D模型是因为使用的是默认的Font Material造成的,因为这个材质使用的是GUI/Text Shader所以会显示在上面,解决办法就是换一个材质和Shader了。

创建一个Shader:

//一个固定管线Shader 会编译为顶点着色Shader
Shader "Custom/3D Text Shader" {
	Properties{
		_MainTex("Font Texture", 2D) = "white" {}
		_Color("Text Color", Color) = (1,1,1,1)
	}


	SubShader{
			Tags{ "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" }
			//只要没有关闭ZTest深度测试,TestMesh就不会出现穿透现象
			Lighting Off Cull Off ZWrite On Fog{ Mode Off }
			Blend SrcAlpha OneMinusSrcAlpha
			Pass{
			Color[_Color]
			SetTexture[_MainTex]{
			combine primary, texture * primary
			}
		}
	}
}

创建一个材质使用这个Shader,将材质拖给Mesh Renderer使用,在材质上赋值正确的Font Texture就可以了。Font Texture可以将ttf字体的Character设置为Unicode得到


首页 我的博客
粤ICP备17103704号