【发布时间】:2016-02-10 17:43:59
【问题描述】:
我已将文本网格添加到 2 面的立方体中
(在对象层次结构中,它“属于”立方体)。 有了这个,我现在意识到立方体显然是透明的。实际上并非如此,我们可以通过立方体看到的唯一内容是文本。
那么,我做错了什么?我认为这是Shader的错。 (A 通道)但将其设置为 255 不会改变任何内容。谢谢
【问题讨论】:
我已将文本网格添加到 2 面的立方体中
(在对象层次结构中,它“属于”立方体)。 有了这个,我现在意识到立方体显然是透明的。实际上并非如此,我们可以通过立方体看到的唯一内容是文本。
那么,我做错了什么?我认为这是Shader的错。 (A 通道)但将其设置为 255 不会改变任何内容。谢谢
【问题讨论】:
我认为问题在于默认情况下,用于文本网格的着色器渲染在所有内容之上(就像 GUI 文本一样)。所以立方体本身的着色器不是问题。
你需要为文本使用另一个着色器,这是我找到的:
http://wiki.unity3d.com/index.php?title=3DText
万一链接断开,这是一个你可以使用的着色器:
Shader "GUI/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 Off Fog { Mode Off }
Blend SrcAlpha OneMinusSrcAlpha
Pass {
Color [_Color]
SetTexture [_MainTex] {
combine primary, texture * primary
}
}
}
}
【讨论】: