2014-11-05 9 views
1

Как вы это делаете. Я хочу создать новый игровой объект, а затем добавить игровой объект в сцену.Как динамически создать новый игровой объект и добавить игровой объект в сцену Unity3d

Как это сделать?

Мой код:

GameObject a = new GameObject(); 
GameObject aClone = Instantiate(a) as GameObject; 

, но не работает правильно.

+0

Просьба уточнить! – Hawk

ответ

0

Instantiate принимает 3 аргумента, gameObject, положение и вращение. Это поместит его в вашу сцену в зависимости от того, что вы анализируете в качестве значений.

Instantiate(a, Vector3 (x, y, z), Quaternion.identity); 
6

Правильный путь:

GameObject obj = Instantiate(prefab) as GameObject; 

Вы можете указать position и rotation, а также.

Vector3 position = new Vector3(1,1,1); 
Quaternion rotation = new Quaternion(1,1,1,1); 
GameObject obj = Instantiate(prefab, position, rotation) as GameObject; 

Очевидно использовать positionrotation и что вы хотите, изменяя параметры.

prefab просто:

public GameObject prefab; 

Перетащите GameObject в сценарий с помощью редактора.

+1

+1 Лучше и более подробный ответ, чем мой. – Catwood

+1

Могу ли я получить новый GameObject без наличия сборника? –