【问题标题】:Display mathematical equation in unity3D在unity3D中显示数学方程
【发布时间】:2014-09-13 16:45:00
【问题描述】:

我想使用它的 GUI 系统统一显示数学方程。有办法吗?我正在使用 c# 语言在 Unity 中进行编程。如果我也可以使用 c# 代码显示数学符号,那对我来说会很有用。谢谢!

【问题讨论】:

  • 您只想在 Unity 的屏幕上显示一个方程式 a + b = c?我理解正确吗?
  • 我想显示像部首和极限等数学符号。
  • 自 3 月以来还没有听说过这方面的消息,但也许你会找到一些东西:gamasutra.com/view/news/212709/…

标签: c# math unity3d


【解决方案1】:

自2016年起,您可以使用TEXDraw(付费资产)统一渲染数学表达式。

【讨论】:

  • 值得一提的是不是免费的!
【解决方案2】:

您可以使用 Web api 进行 LaTeX 数学运算并将其下载为纹理。一个例子:

如何在Unity3d中使用:

using UnityEngine;
using System.Collections;

public class Tester : MonoBehaviour {

    [SerializeField] string formula=@"\displaystyle\int_{-\infty}^{\infty}e^{-x^{2}}\;dx=\sqrt{\pi}";
    Texture texture=null;

    IEnumerator Start() {
        WWW www=new WWW("http://chart.apis.google.com/chart?cht=tx&chl="+formula);
        yield return www;
        texture=www.texture;
    }

    void OnGUI() {
        if(texture != null)
            GUI.DrawTexture(new Rect(0,0,texture.width,texture.height), texture);
    }
}

有很多实现,这里使用的是Google Charts API。可惜一年左右就退役了。

如果您不想要 google 的,另一种选择是自定义托管的 tex2im。

【讨论】:

  • 感谢您的重播,但如果我使用您的方法,我认为用户在使用我的游戏时应该保持连接到互联网,这不是我想要的。
  • 谢谢,这是一个很好的解决方案,即使现在也可以使用!
【解决方案3】:

您可以使用 GUI 文本执行此操作。 http://docs.unity3d.com/Manual/class-GuiText.html

这是一个不错的 YouTube 教程,介绍如何执行此操作。 https://www.youtube.com/watch?v=_4nGKxZ7tVA

至于显示数学符号,您只需使用字符串中的符号格式化字符串,然后在 GUI 文本中显示字符串。

将以下内容放在 C# 脚本中并将脚本添加到 GUIText 对象,然后场景和文本将更新。

int a = 1;
int b = 2;
int c = a + b;
guiText.text = String.Format("{0} + {1} = {2}", a, b, c);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-20
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-02
    相关资源
    最近更新 更多