2015-06-20 60 views
3

假设我想要多个预制对象,称为childTile,它父母另一个预制对象parentTile。所以无论何时parentTile旋转,childTiles将旋转约parentTile统一:代码中的预制养育

基本上这是我写的:

public GameObject childPrefab; 
public GameObject parentPrefab; 

void Update() 
{ 
    for(int i = 0; i < 10; i++) 
    { 
     GameObject clone = Instantiate(childPrefab, /*PsuedoCode: random position*/ , Quaternion.identity) 

     clone.transform.parent = parentPrefab; 

    } 
} 

预期的结果是在运行期间,如果我在现场旋转parentPrefab,10 childPrefabs也应该转动。我尝试了很多方法,但都失败了,除非我在Hierachy栏上手动拖动childPrefabsparentPrefab

回答

2

您确定要在每一帧上设置10个子预制件(每帧调用Update)。

我想你的问题是,你没有Instantiate父母的预制。

如果我把你的代码和修复它,它对我来说就像一个魅力。

public GameObject childPrefab; 
public GameObject parentPrefab; 

void Start() 
{ 
    GameObject parent = Instantiate(parentPrefab) as GameObject; 

    for(int i = 0; i < 10; i++) 
    { 
     GameObject child = Instantiate(childPrefab) as GameObject; 
     child.transform.parent = parent.transform; 
    } 
} 

这是上面的代码的结果,我怀疑,这就是你想要的?

enter image description here

+0

非常感谢!我没有实例化父对象。我多么愚蠢,这个问题花了我4个小时。 – Sylphv