如何在gameObject中创建gameObject?大家好,我不能解决这个解决方案问题不知道为什么,但它不工作,我在unity3D是新手,所以可能我在写代码时犯了错误,感谢所有为我付出时间的人。
我想从你那里得到一个建议,我怎样才能在不使用大量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");
}“链接”,设置子对象的transform.parent“是的,就是这样。”如何捕捉"TerrainData“gameObject?
已尝试:
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");但我认为它不会改变物体吗?它能转换“转换”吗?
发布于 2013-07-28 23:01:46
试试这个吧。
创建一个属性来包含您的对象:
public Transform Terrain;然后你可以做这样的事情..。
terrain = Instantiate(Terrain) as Transform;
terrain.parent = gameObject.transform;
terrain.position = new Vector3(0, 0, 0);
terrain.name = "My Terrain";https://stackoverflow.com/questions/17909026
复制相似问题