在 Unity3D 中使用变换信息创建空对象
Create empty object with transform information in Unity3D
我的初衷是在数组中创建变换对象,因为我需要的只是 space 中的某些点,这些点包含有关位置和旋转的信息。我发现这是不可能的,所以我去创建一个空数组 GameObjects
:
public GameObject[] centers;
我希望从中得到我需要的东西。这是哪个:
centers = new GameObject[length];
GameObject prevCenter = myHeadLink; // myHeadLink is an unrelevant GamObject
for(int i = 0; i < length; i++){
Debug.Log(centers[i]);
centers[i].transform.position = prevCenter.transform.position -
prevCenter.transform.forward * prevCenter.transform.localScale.z * 1.5f;
prevCenter = centers[i];
}
不幸的是,这也不可能,因为所有 center[i]
都是空的。 new GameObject
不会创建带有转换信息的空 GameObject
吗?
尝试写:
for (int i = 0; i < length; ++i)
centers[i] = new GameObject();
之后:
centers = new GameObject[length];
我的初衷是在数组中创建变换对象,因为我需要的只是 space 中的某些点,这些点包含有关位置和旋转的信息。我发现这是不可能的,所以我去创建一个空数组 GameObjects
:
public GameObject[] centers;
我希望从中得到我需要的东西。这是哪个:
centers = new GameObject[length];
GameObject prevCenter = myHeadLink; // myHeadLink is an unrelevant GamObject
for(int i = 0; i < length; i++){
Debug.Log(centers[i]);
centers[i].transform.position = prevCenter.transform.position -
prevCenter.transform.forward * prevCenter.transform.localScale.z * 1.5f;
prevCenter = centers[i];
}
不幸的是,这也不可能,因为所有 center[i]
都是空的。 new GameObject
不会创建带有转换信息的空 GameObject
吗?
尝试写:
for (int i = 0; i < length; ++i)
centers[i] = new GameObject();
之后:
centers = new GameObject[length];