如何在 LocationSide1.GetComponent<TextMesh>().text = "1";
LocationSide2.GetComponent<TextMesh>().text = "2";
LocationSide3.GetComponent<TextMesh>().text = "3";
LocationSide4.GetComponent<TextMesh>().text = "4";
LocationSide5.GetComponent<TextMesh>().text = "5";
LocationSide6.GetComponent<TextMesh>().text = "6";
上自动调整文字大小。
我有六个方面的骰子,我想说出来。单词会不断变化,所以我需要根据立方体的大小自动调整大小,这不会改变。
骰子不是UI元素,因此位于画布之外。
以下是我添加文字的方法。
{{1}}
想象一下,我希望骰子说'#34; pickle&#34;而不是6.它可能会说下一个角色&#34; cantaloupe&#34;然后&#34;豌豆&#34;。文本将改变大小。
示例文字如何粘在边缘上。
答案 0 :(得分:1)
您寻求的答案可以在另一个帖子中找到 - http://answers.unity3d.com/questions/218222/how-to-calculate-a-textmesh-width-without-renderin.html
public class TextBehaviour : MonoBehaviour
{
public TextMesh textmesh;
void Start ()
{
Bounds bound = BoundOfTextMesh("New Text");
print ("Size X = "+bound.size.x +"Size Y = "+bound.size.y);// Size of X and Y or Vector2
}
Bounds BoundOfTextMesh(string textMeshName)
{
textmesh = GameObject.Find (textMeshName).GetComponent<TextMesh>();
return textmesh.renderer.bounds ;
}
}
答案 1 :(得分:-1)
TextMesh没有自动调整大小的功能,因此要调整文本大小以适应其容器,您必须遵循Scott Barnes&#39;建议操纵渲染器以获得所需的效果。
如果您正在寻找具有您正在寻找效果的替代品,您可以考虑TextMesh Pro。它是Unity商店中具有自动调整大小功能的免费资产。该文本有2D UI和3D文本格式,因此它可以在画布的内部和外部工作。