这用 3D文字 TextMesh做例子
首先重建一个类 MeshTextUnit 使用unity特性 [SerializeField]强制unity去序列化一个私有域。这是一个内部的unity序列化功能,有时候我们需要Serialize一个private或者protected的属性。
[Serializable]
public class MeshTextUnit
{
[SerializeField]
public TextMesh Inhale;
[SerializeField]
public TextMesh Power;
[SerializeField]
public TextMesh Trans;
}
然后再其他类中可以声明公开变量
public MeshTextUnit[] meshTextUnit = new MeshTextUnit[12];
效果如下:
meshTextUnit[j].Inhale.text = "Bar";
meshTextUnit[j].Power.text = "%";
meshTextUnit[j].Trans.text = "Rpm";