gpt4 book ai didi

c# - Unity3D 的 "3D"文本是二维的。我会建立自己的

转载 作者:行者123 更新时间:2023-11-30 19:38:12 27 4
gpt4 key购买 nike

Unity3D 不提供 3 维文本。他们有一种他们称之为 3D 文本的文本,但我不知道为什么,因为它没有深度,只有高度和宽度。

我需要 3 维文本。实际上,我只需要 0 到 9 的数字。我已经在 Blender 中制作了这些。

我不知道如何在 Unity 中使用我的数字。对于上下文,我有一个从碰撞事件中获取数据的“分数”,因此它不像将这些对象拖放到我的世界中那么简单。

我是否必须构建字体或其他东西?如果有人能指出我正确的方向,我将不胜感激。谷歌在这次搜索中并没有放弃太多。

最佳答案

3D 文本 在 Unity 上下文中只是指可以在 3D 空间中移动的文本(不像 GUI 文本只能在二维平面上移动)

不幸的是,您不能为统一或任何其他软件制作自己的“3D 字体”(Blender 自己进行所有计算以呈现具有深度的文本)
所以要存档你想要的东西,我会:

  • 创建 3D 数字(在 blender 中)
  • 将它们导入您的 Assets
  • 编写一个新的脚本来获取数据
  • 遍历数字的每个字符
    • 根据位置计算偏移量
    • 实例化 Assets 中的数字
  • 如果不再需要则销毁数字 Assets (重新绘制数字)

循环示例(根据要求)!只是想法!!复制和粘贴不起作用:

int scoreData = whatever your number is;

LoopFunction(){

string scoreText = scoreData.toString();
string[] characters = new string[scoreText.Length];

for (int i = 0; i < text.Length; i++)
{
Instantiate (Resources.Load (characters[i])) as GameObject;
/*
Make sure that "1.pfefab" to "9.prefab" files exists in
Resources folder and 'Resources' folder exists in 'Assets' folder.

Add the offset to a variable after instantiating
so the numbers wont overlap
*/
}

}

关于c# - Unity3D 的 "3D"文本是二维的。我会建立自己的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34430388/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com