[转载]Unity3d更改3d Text的字体的材质球的shader,使字体不显示

今天在用3D字体时碰到这个问题,字体会一直显示在相机最前面,与GUI 文字没有什么区别,
但是又发现这个字体文件的材质球又没办法更改,发现其实字体材质球用的shader是GUI/textShader,所以就会做GUI显示
 
解决办法:
1、新建一个材质球;
2、新建一个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" }
   Lighting Off Cull Off ZWrite On Fog { Mode Off }
   Blend SrcAlpha OneMinusSrcAlpha
   Pass {
      Color [_Color]
      SetTexture [_MainTex] {
         combine primary, texture * primary
      }
   }
}
}
3、将刚才的材质球的Shader改成自己新建的,并把字体文件下面的字体贴图拖到此材质球上面
4、将自己创建的材质球给3D Text对象
搞定!

转载于:https://www.cnblogs.com/unitySPK/p/5177744.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值