GameObject Constructor
Declaration
public GameObject();public GameObject(string name);public GameObject(string name, params Type[] components);Параметры
| Параметр | Описание |
|---|---|
| имя | Имя GameObject, указанное в виде строки. Имя хранится в свойстве name GameObject. |
| компоненты | Компоненты для присоединения, указанные как массив типов, наследуемых от Component. |
Описание
Создает новый файл GameObject с дополнительными параметрами для указания имени и набора компонентов для присоединения.
Используйте конструктор без аргументов для создания GameObject с пустым name свойства и только Transform компонент прикреплен.
Используйте конструктор с name параметр для создания GameObject с указанным значением в качестве свойства name и только Transform компонент прикреплен.
Используйте конструктор с name и components параметры для создания GameObject с указанным именем и указанными компонентами, в дополнение к Transform компонент.
Когда вы вызываете конструктор GameObject из скрипта MonoBehaviour во время выполнения, конструктор GameObject создается в корне любой сцены, которая в данный момент активна на момент вызова конструктора. SceneManager.GetActiveScene. Новый GameObject отображается в окне Hierarchy в корне этой сцены, что означает, что GameObject по умолчанию не имеет родителя.
Если вызвать конструктор в контексте, где нет загруженной корректной сцены, — например, во время статической инициализации или в скриптах, выполняющихся в режиме Edit, — GameObject может быть создан в «сцене предпросмотра» или во внутреннем контексте и не попасть ни в одну видимую сцену. В этом случае объект можно явно добавить в сцену через SceneManager.MoveGameObjectToScene.
using UnityEngine;
public class Example : MonoBehaviour { private void Start() { GameObject exampleOne = new GameObject(); exampleOne.name = "GameObject1"; exampleOne.AddComponent<Rigidbody>();
GameObject exampleTwo = new GameObject("GameObject2"); exampleTwo.AddComponent<Rigidbody>();
GameObject exampleThree = new GameObject("GameObject3", typeof(Rigidbody), typeof(BoxCollider)); } }