如何在Unity中将文本添加到生成的网格

时间:2019-03-27 15:54:22

标签: c# unity3d mesh

enter image description here

我已经用代码创建了二十面体,因此每个三角形都是自己的网格,而不是一个带有20个面的实体网格。我想在大致居中的每个三角形的外侧添加文本。对于简单的视觉效果,请考虑使用20面DnD模具。

约束是,尽管此版本是仅具有20个面的简单二十面体,但编写脚本的目的是可以递归地对其进行精炼以添加更多面并将其转换为icosphere。我仍然希望文本随着三角形数量的增加而缩放和居中。

我目前有一个预制的“三角形”对象,其中包含每个三角形将需要的脚本以及一个网格过滤器/网格渲染器。

场景中唯一的另一件事是一个空的GameObject,其中带有附加的脚本,该脚本创建三角形并充当所有三角形的父级。

我尝试了多种将文本添加到三角形预制件中的方法。我一直遇到的问题是,由于网格本身不存在于预制件中,因此我不确定如何调整文本的方向或缩放比例,以使其显示在正确的位置。

我不确定是否需要在运行时使用三角形完全生成文本,或者是否有办法将其添加到预制件中,然后对其进行更新,以便在创建三角形时缩放和定位。

到目前为止,我在Google上进行的搜索只为我带来了真正的结果,即永久涉及场景中的对象,与运行时生成的网格无关。

1 个答案:

答案 0 :(得分:0)

文本是否以png或其他图像格式保存纹理?因为在这种情况下,您可以只创建带有包含文本的纹理的材质。 下一步是为每个顶点定义UV,以这种方式将纹理包裹在三角形上。 如果必须即时生成文本,我现在可以想到的最佳方法是在三角形中添加文本网格(因为它是预制的)并访问组件。