【问题标题】:Unity - dynamic Text Mesh font change glitch?Unity - 动态文本网格字体更改故障?
【发布时间】:2021-01-26 06:43:49
【问题描述】:

好的,在 Unity 2019.4.1 中工作我有一个小故障,如果我在运行时通过脚本更改文本网格的字体,字符会出现乱码:

我在这里尝试了论坛中的解决方案:

void resetChars(TextMesh textMesh)
    {
        textMesh.text = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
        textMesh.font.characterInfo = null;
        textMesh.font.RequestCharactersInTexture(textMesh.text, textMesh.fontSize, textMesh.fontStyle);
    }

if(Input.GetKey("space"))
        {
            resetChars(GetComponent<TextMesh>());
            GetComponent<TextMesh>().font = (Font)Resources.Load("Inter-Black-slnt=0");
        }

但这使情况变得更糟。这里发生了什么,如何动态更改我的 Text Mesh 字体?

【问题讨论】:

    标签: c# unity3d text fonts


    【解决方案1】:

    将您的字体直接放入资源文件中的资源文件中,然后使用该方法style.font = Resources.Load&lt;Font&gt;("Fonts/&lt;fileName");

    https://docs.unity3d.com/2018.1/Documentation/ScriptReference/UI.Text-font.html看这里。

    【讨论】:

      【解决方案2】:

      MeshRenderer的材质必须和字体的材质一致。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-08-05
        • 1970-01-01
        • 2011-07-28
        • 2019-11-06
        • 1970-01-01
        • 1970-01-01
        • 2017-12-23
        相关资源
        最近更新 更多