加载中…
个人资料
amiliar
amiliar
  • 博客等级:
  • 博客积分:0
  • 博客访问:39,700
  • 关注人气:13
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

Unity3d更改3d Text的字体的材质球的shader,使字体不显示在物体最front

(2011-09-22 16:50:30)
标签:

unity3d

3dtext

front

shader

it

分类: Unity3D
今天在用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对象
搞定!

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有