如何在游戏对象中创建游戏对象?大家好,我无法解决这个解决方案问题,不知道为什么但它不起作用,我是统一 3d 的新手,所以也许我在编写代码时犯了错误,感谢所有为我付出时间的人。
我想从你那里得到一个建议,我怎么能在不使用太多 cpu 的情况下做到这一点。
我试过了:
GameObject.Find(..),GameObject.Instantiate,GameObject.Find("TerrainData").GetComponentInChildren
它没有用。这是我的代码:
if (parentObj == 1)
{
GameObject newParentObject = new GameObject();
newParentObject.active = true;
newParentObject.name = "TerrainData";
//newObjs.transform.position = loc*chunkSize;
//newObjs.SendMessage("regenerateMesh");
parentObj++;
}
while (m_terrainToCreate.Count > 0 && Time.realtimeSinceStartup - curTime < 0.016)
{
Vector3 loc = m_terrainToCreate.Dequeue();
int[] pos = getCachedChunkPos(Mathf.RoundToInt(loc.x), Mathf.RoundToInt(loc.y), Mathf.RoundToInt(loc.z));
GameObject newObj = m_meshCache[pos[0], pos[1], pos[2]];// = m_freePool.Dequeue();
newObj.active = true;
newObj.name = "TerrainChunk (" + loc.x.ToString() + ", " + loc.y.ToString() + ", " + loc.z.ToString() + ")";
newObj.transform.position = loc*chunkSize;
newObj.SendMessage("regenerateMesh");
}
""linked",设置孩子的 transform.parent" 是的,就是这样。我怎样才能捕捉到“TerrainData”游戏对象?
试过:
GameObject newObj = m_meshCache[pos[0], pos[1], pos[2]];// = m_freePool.Dequeue();
newObj.transform.parent = GameObject.Find("TerrainData");
newObj.gameObject.transform.parent = gameObject.transform.Find ("TerrainData");
newObj.transform.parent = transform.Find("TerrainData");
但我认为它不会改变物体?它转换“转换”?