如何在Text Mesh中使用位图字体?

时间:2015-07-17 07:22:21

标签: unity3d

我已经制作了一个位图字体,包括一个ftn文件和一个png精灵。

我可以通过使用“自定义字体”创建字体设置在UGUI上使用它,但是如何在文本网格或3D文本上使用它?

2 个答案:

答案 0 :(得分:0)

再次回答我自己的问题!

从书中找到解决方案。只需更改自定义字体材质的着色器。

我不擅长着色器,只需复制:

Shader "Custom/My3DFont" {
Properties {
    _Color ("Main Color", Color) = (1, 1, 1, 0.5)
    _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
}

SubShader {
    Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
    LOD 100

    ZWrite Off
    Blend SrcAlpha OneMinusSrcAlpha

    Pass {
        Material {
            Diffuse [_Color]
        }


        Lighting Off Cull Off ZTest Always ZWrite Off Fog { Mode Off }

        SetTexture [_MainTex] {
            constantColor [_Color]
            combine texture * constant
        }
    }
}
}

答案 1 :(得分:0)

文本网格上的位图字体您只需要从资产商店获取位图字体导入器并使用littera等工具从真实字体ex创建位图字体。 ttf,然后将位图字体和xml的结果从littera导入到unity,然后在textmesh组件上使用font属性设置字体参数,使用刚刚导入的字体材质的meshrenderer材质,并将着色器设置为unlight-> transparent。完了!