Как создать дочерний объект в unity c

от admin

The Hierarchy window

The default Hierarchy window view when you open a new Unity project

The Hierarchy window displays every GameObject The fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary in a Scene, such as models, Cameras, or Prefabs An asset type that allows you to store a GameObject complete with components and properties. The prefab acts as a template from which you can create new object instances in the scene. More info
See in Glossary . You can use the Hierarchy window to sort and group the GameObjects you use in a Scene. When you add or remove GameObjects in the Scene view, you also add or remove them from the Hierarchy window.

The Hierarchy window can also contain other Scenes, with each Scene A Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary containing their own GameObjects.

Parenting

Unity uses the concept of parent-child hierarchies, or parenting, to group GameObjects. An object can contain other GameObjects that inherit its properties.You can link GameObjects together to help move, scale, or transform a collection of GameObjects. When you move the top-level object, or parent GameObject, you also move all child GameObjects.

You can also create nested parent-child GameObjects. All nested objects are still descendants of the original parent GameObject, or root GameObject.

Child GameObjects inherit the movement and rotation of the parent GameObject. To learn more about this, see documentation on the Transform component A Transform component determines the Position, Rotation, and Scale of each object in the scene. Every GameObject has a Transform. More info
See in Glossary .

 Child 1 and Child 2 are the child GameObjects of Parent. Child 3 is a child GameObject of Child 2, and a descendant GameObject of Parent.Child 1 and Child 2 are the child GameObjects of Parent. Child 3 is a child GameObject of Child 2, and a descendant GameObject of Parent.

Organize GameObjects

Create new GameObjects

To create a new GameObject in the Hierarchy window:

  1. Right-click on empty space in the selected Scene.
  2. Select the GameObject you want to create.

You can also press Ctrl+Shift+N (Windows) or Command+Shift+N (macOS) to create a new empty GameObject.

Note: New GameObjects are created in “rename” mode automatically. To disable this behavior, select the More (⋮) menu in the Hierarchy window and deselect Rename New Objects.

Toggle child GameObject visibility

To toggle the visibility of child GameObjects:

  1. Select the drop-down arrow (►) to the left of the parent GameObject.
  2. Press Alt while clicking the drop-down arrow (►) to toggle visibility of all descendant GameObjects of the root GameObject.
  3. Select the drop-down arrow again (▼) to collapse all descendant GameObjects.

Create child GameObjects

To create a child GameObject:

  • Drag the GameObject onto the parent GameObject in the Hierarchy.

Create parent GameObjects

You can add a new GameObject into the Hierarchy view as the parent of existing GameObjects.

To create a parent GameObject:

  1. Right-click a GameObject, or select multiple GameObjects on the same level and right-click.
  2. Select Create Empty Parent.

You can also press Ctrl+Shift+G (Windows) or Command+Shift+G (macOS) to create a parent GameObject.

Note: If you have set a default parent GameObject, Create Empty Parent creates the new GameObject as a child of the default parent, not as the parent of the selected GameObjects.

Create sibling GameObjects

A sibling GameObject is a GameObject with the same hierarchy as another child GameObject. To create a sibling GameObject:

  1. Drag the GameObject above or below an existing GameObject.
  2. Use the horizontal blue line to determine the order of the GameObject.

Duplicate GameObjects

To duplicate GameObjects, right-click the target GameObject and select Duplicate.

You can also press Ctrl+D (Windows) or Command+D (macOS) to duplicate the selected GameObject.

Paste GameObjects as child

You can cut or copy a selected GameObject and then paste it as a child of another GameObject. Pasted child GameObjects keep their world position.

To paste a GameObject as child:

  1. Right-click the selected GameObject, and then select Cut or Copy.
  2. Right-click the intended parent GameObject, and then select Paste as Child.

You can also press Ctrl+Shift+V (Windows) or Command+Shift+V (macOS) to paste a GameObject as a child.

Organize GameObjects with default parent

You can make any GameObject in the Hierarchy window a “default parent”. When you drag a GameObject into the Scene view, Unity automatically makes this GameObject the child of the GameObject you set as the default parent.

To make a GameObject a default parent:

  1. In the Hierarchy window, right-click on the GameObject.
  2. Select Set as Default Parent.

When you drag a GameObject into the Scene view, in the Hierarchy window, the child GameObject is indented below the default parent GameObject. The name of the default parent GameObject is bold.

In this image, the Cube GameObject is the default parent. When the user drags the Car GameObject into the Scene view, Unity automatically makes it the child of the Cube GameObject.In this image, the Cube GameObject is the default parent. When the user drags the Car GameObject into the Scene view, Unity automatically makes it the child of the Cube GameObject.

To remove default parent status from a GameObject:

  1. In the Hierarchy window, right-click on the GameObject.
  2. Select Clear Default Parent.

The name of the GameObject that was previously the default parent is no longer bold. When you drag a GameObject into the Scene view, it appears at the top level in the Hierarchy window. In other words, Unity does not make this GameObject the child of the GameObject that was previously the default parent.

In this image, no GameObjects in the Hierarchy window are set as the default parent. When the user drags the Car GameObject into the Scene view, Unity adds it at the top level of the hierarchy.In this image, no GameObjects in the Hierarchy window are set as the default parent. When the user drags the Car GameObject into the Scene view, Unity adds it at the top level of the hierarchy.

You can only set one default parent per Scene. In the Hierarchy window, if you set a GameObject as the default parent, and then you make a different GameObject in the same Scene the default parent, only the second GameObject is the default parent.

If you have multiple Scenes in the Hierarchy window, and you set default parents in each Scene, when you drag a GameObject into the Scene view, Unity makes the default parent GameObject in the active Scene the parent of the new GameObject.

In this image, the Cube GameObjects in both Scene1 and Scene2 are set as default parents. Unity sets the Cube in Scene1 as the parent of the Car GameObject, because Scene1 is the active Scene.In this image, the Cube GameObjects in both Scene1 and Scene2 are set as default parents. Unity sets the Cube in Scene1 as the parent of the Car GameObject, because Scene1 is the active Scene.

You can set a keyboard shortcut for the default parent setting in the Shortcuts manager. On the Shortcuts window, assign a keyboard shortcut to Hierarchy View > Set as Default Parent. If there is no default parent set, and in the Hierarchy window you select a GameObject, use the shortcut to make this GameObject the default parent. When a default parent is set, use the shortcut to remove default parent status from any GameObject that has it.

Set Scene visibility and pickability

Click the Scene visibility icon to hide and show GameObjects in the Scene view An interactive view into the world you are creating. You use the Scene View to select and position scenery, characters, cameras, lights, and all other types of Game Object. More info
See in Glossary without changing their in-application visibility.

Select the Scene picking icon to toggle the ability to select GameObjects in the Scene view while you are editing.

These controls are useful for working with large or complex Scenes where it’s difficult to view and select specific GameObjects.

Scene visibility icons/toggles

For more information, see the documentation on Scene visibility and Scene picking.

Sort GameObjects

By default, the Hierarchy window lists GameObjects in the order they’re created. You can drag the selected GameObject up or down in the Scene to change the order of the GameObjects.

Alphanumeric sorting

To sort GameObjects in alphanumeric order:

  1. Select Edit > Preferences (Windows) or Unity > Preferences (macOS).
  2. Select Enable Alphanumeric Sorting.

When selected, an icon appears in the Hierarchy window that allows you to toggle between Transform sorting (the default value) or Alphabetical sorting.

Multi-Scene editing

You can have more than one Scene open in the Hierarchy window at the same time. For more information, see the Multi Scene Editing page.

Override indicator

When you edit a Prefab instance in a Scene, Unity displays a indicator next to the parent GameObject in the hierarchy. This indicator highlights any Prefab that has non-default override values in any of its child GameObjects. To open the Overrides dropdown directly from the Hierarchy window click on the override indicator. The override indicator appears as a blue line in the left side of the margin and is identical to the instance override in the Inspector A Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
See in Glossary window. For more information, see Instance overrides.

Читать:
Как заменить элемент в списке python

Создание дочернего объекта из префаба

Нужно каждому объекту создать дочерний объект, тоже из префаба. (первый объект — ячейка, спрайт, второй — 3д текст).

Вадим Мороз's user avatar

Если я правильно понял, то нужно воспользоваться Transform.SetParent, с помощью которого можно установить один объект в другой. Выглядит это примерно так:

Дословно он говорит, что нужно некоему объекту (childGO) сделать родителем другой объект.

Более подробный пример:

Здесь мы объект «игрок» встраиваем в Transform объекта newParent .

Соответственно генерируете один объект и другой. Затем над к одному из них применяете вышеприведенный метод.

Окно Hierarchy

Представление окна иерархии по умолчанию при открытии нового проекта UnityПредставление окна иерархии по умолчанию при открытии нового проекта Unity

В окне Hierarchy отображаются все GameObject фундаментальный объект в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
Смотреть в Словарь в Сцене, например модели, Камеры или Prefabs Тип ресурса, который позволяет хранить GameObject с компонентами и свойствами. Префаб действует как шаблон, из которого вы можете создавать новые экземпляры объектов на сцене. Подробнее
См. в Словарь . Вы можете использовать окно Hierarchy для сортировки и группировки игровых объектов, которые вы используете в сцене. Когда вы добавляете или удаляете игровые объекты в представлении «Сцена», вы также добавляете или удаляете их из окна «Hierarchy».

Окно «Hierarchy» также может содержать другие сцены, причем каждая сцена Сцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь , содержащий их собственные игровые объекты.

Воспитание детей

Unity использует концепцию родительско-дочерних иерархий или родительских элементов для группировки игровых объектов. Объект может содержать другие игровые объекты, которые наследуют его свойства. Вы можете связать игровые объекты вместе, чтобы помочь перемещать, масштабировать или преобразовывать коллекцию игровых объектов. Когда вы перемещаете объект верхнего уровня или родительский игровой объект, вы также перемещаете все дочерние игровые объекты.

Вы также можете создавать вложенные игровые объекты родитель-потомок. Все вложенные объекты по-прежнему являются потомками исходного родительского игрового объекта или корневого игрового объекта.

Дочерние игровые объекты наследуют движение и вращение родительского игрового объекта. Чтобы узнать больше об этом, см. документацию по компоненту Transform компоненту Transform определяет положение, вращение и масштаб каждого объекта в сцене. Каждый GameObject имеет Transform. Подробнее
См. в Словарь .

Child 1 и Child 2 являются дочерними GameObjects Parent. Child 3 является дочерним GameObject Child 2 и потомком GameObject Parent..Child 1 и Child 2 являются дочерними GameObjects Parent. Child 3 является дочерним GameObject Child 2 и потомком GameObject Parent.

Организация игровых объектов

Создание новых игровых объектов

Чтобы создать новый GameObject в окне Hierarchy:

  1. Щелкните правой кнопкой мыши пустое место в выбранной сцене.
  2. Выберите игровой объект, который хотите создать.

Вы также можете нажать Ctrl+Shift+N (Windows) или Command+Shift+N (macOS), чтобы создать новый пустой игровой объект.

Примечание. Новые игровые объекты создаются в режиме «переименования» автоматически. Чтобы отключить это поведение, выберите меню «Дополнительно» (⋮) в окне «Hierarchy» и снимите флажок Rename New Objects.

Переключение видимости дочернего игрового объекта

Чтобы переключить видимость дочерних игровых объектов:

  1. Выберите стрелку раскрывающегося списка (►) слева от родительского игрового объекта.
  2. Нажмите Alt, одновременно нажимая стрелку раскрывающегося списка (►), чтобы переключить видимость всех дочерних игровых объектов корневого игрового объекта.
  3. Снова нажмите стрелку раскрывающегося списка (▼), чтобы свернуть все дочерние игровые объекты.

Создание дочерних игровых объектов

Чтобы создать дочерний игровой объект:

  • Перетащите GameObject на родительский GameObject в иерархии.

Создание родительских игровых объектов

Вы можете добавить новый игровой объект в представление «Hierarchy» в качестве родителя существующих игровых объектов.

Чтобы создать родительский игровой объект:

  1. Щелкните правой кнопкой мыши игровой объект или выберите несколько игровых объектов на одном уровне и щелкните правой кнопкой мыши.
  2. Выберите Create Empty Parent.

Вы также можете нажать Ctrl+Shift+G (Windows) или Command+Shift+G (macOS), чтобы создать родительский игровой объект.

Примечание. Если вы установили родительский игровой объект по умолчанию, функция Создать пустой родительский объект создает новый игровой объект как дочерний элемент родительского объекта по умолчанию, а не родительский объект выбранных игровых объектов.

Создание родственных игровых объектов

Родственный GameObject — это GameObject с той же иерархией, что и другой дочерний GameObject. Чтобы создать одноуровневый GameObject:

  1. Перетащите GameObject выше или ниже существующего GameObject.
  2. Используйте горизонтальную синюю линию, чтобы определить порядок GameObject.

Дублирование игровых объектов

Чтобы дублировать игровые объекты, щелкните правой кнопкой мыши целевой игровой объект и выберите Duplicate.

Вы также можете нажать Ctrl+D (Windows) или Command+D (macOS), чтобы дублировать выбранный игровой объект.

Вставка игровых объектов в качестве дочерних

Вы можете вырезать или скопировать выбранный игровой объект, а затем вставить его как дочерний элемент другого игрового объекта. Вставленные дочерние игровые объекты сохраняют свою позицию в мире.

Чтобы вставить GameObject как дочерний:

  1. Щелкните правой кнопкой мыши выбранный игровой объект и выберите Cut или Copy.
  2. Щелкните правой кнопкой мыши предполагаемый родительский игровой объект и выберите Paste as Child.

Вы также можете нажать Ctrl+Shift+V (Windows) или Command+Shift+V (macOS), чтобы вставить GameObject в качестве дочернего.

Организация игровых объектов с родительским элементом по умолчанию

Вы можете сделать любой GameObject в окне Hierarchy «родителем по умолчанию». Когда вы перетаскиваете GameObject в представление «Сцена», Unity автоматически делает этот GameObject дочерним для GameObject, который вы установили в качестве родителя по умолчанию.

Чтобы сделать GameObject родителем по умолчанию:

  1. В окне «Hierarchy» щелкните правой кнопкой мыши игровой объект.
  2. Выберите Set as Default Parent.

При перетаскивании игрового объекта в представление «Сцена» в окне «Hierarchy» дочерний игровой объект располагается ниже родительского игрового объекта по умолчанию. Имя родительского игрового объекта по умолчанию выделено полужирным шрифтом.

На этом изображении Cube GameObject является родителем по умолчанию. Когда пользователь перетаскивает игровой объект «Автомобиль» в представление «Сцена», Unity автоматически делает его дочерним элементом игрового объекта «Куб».На этом изображении Cube GameObject является родителем по умолчанию. Когда пользователь перетаскивает игровой объект «Автомобиль» в представление «Сцена», Unity автоматически делает его дочерним элементом игрового объекта «Куб».

Чтобы удалить родительский статус по умолчанию для GameObject:

  1. В окне «Hierarchy» щелкните правой кнопкой мыши игровой объект.
  2. Выберите Clear Default Parent.

Имя GameObject, которое ранее было родительским по умолчанию, больше не выделено полужирным шрифтом. Когда вы перетаскиваете GameObject в представление «Сцена», он появляется на верхнем уровне в окне «Hierarchy». Другими словами, Unity не делает этот GameObject дочерним по отношению к GameObject, который ранее был родителем по умолчанию.

На этом изображении ни один из игровых объектов в окне Hierarchy не установлен в качестве родителя по умолчанию. Когда пользователь перетаскивает игровой объект Car в окно Scene, Unity добавляет его на верхний уровень иерархии.На этом изображении ни один из игровых объектов в окне Hierarchy не установлен в качестве родителя по умолчанию. Когда пользователь перетаскивает игровой объект Car в окно Scene, Unity добавляет его на верхний уровень иерархии.

Вы можете установить только один родитель по умолчанию для каждой сцены. В окне Hierarchy, если вы установите GameObject в качестве родителя по умолчанию, а затем сделаете другой GameObject в той же сцене родительским по умолчанию, только второй GameObject будет родителем по умолчанию.

Если у вас есть несколько сцен в окне «Hierarchy» и вы устанавливаете родительские объекты по умолчанию в каждой сцене, при перетаскивании игрового объекта в представление «Сцена» Unity делает родительский игровой объект по умолчанию в активной сцене родителем нового игрового объекта.

На этом изображении кубические игровые объекты как в Scene1, так и в Scene2 установлены как родительские по умолчанию. Unity устанавливает куб в Scene1 в качестве родителя игрового объекта Car, потому что Scene1 является активной сценой..На этом изображении кубические игровые объекты как в Scene1, так и в Scene2 установлены как родительские по умолчанию. Unity устанавливает куб в Scene1 в качестве родителя игрового объекта Car, потому что Scene1 является активной сценой.

Вы можете установить сочетание клавиш для родительского параметра по умолчанию в менеджере сочетаний клавиш. В окне «Shortcuts» назначьте сочетание клавиш Hierarchy View > Set as Default Parent. Если родительского набора по умолчанию нет, а в окне Hierarchy вы выбираете GameObject, используйте ярлык, чтобы сделать этот GameObject родительским по умолчанию. Когда установлен родительский элемент по умолчанию, используйте ярлык, чтобы удалить родительский статус по умолчанию для любого игрового объекта, у которого он есть.

Настройка видимости и возможности выбора сцены

Нажмите значок видимости сцены, чтобы скрыть и отобразить игровые объекты в представлении сцены Интерактивный взгляд на мир, который вы создаете. Вы используете Scene View для выбора и размещения пейзажей, персонажей, камер, источников света и всех других типов игровых объектов. Подробнее
Просматривать в Словарь без изменения видимости в приложении.

Выберите значок выбора сцены, чтобы переключить возможность выбора игровых объектов в представлении «Сцена» во время редактирования.

Эти элементы управления полезны для работы с большими или сложными сценами, где сложно просмотреть и выбрать определенные игровые объекты.

Значки/переключатели видимости сцены

Дополнительную информацию см. в документации по видимости сцены и выбору сцены.

Сортировка игровых объектов

По умолчанию в окне «Hierarchy» игровые объекты перечислены в порядке их создания. Вы можете перетащить выбранный игровой объект вверх или вниз в сцене, чтобы изменить порядок игровых объектов.

Буквенно-цифровая сортировка

Чтобы отсортировать игровые объекты в алфавитно-цифровом порядке:

  1. Select Edit > Preferences (Windows) or Unity > Preferences (macOS).
  2. Select Enable Alphanumeric Sorting.

При выборе в окне «Hierarchy» появляется значок, позволяющий переключаться между сортировкой Transform (значение по умолчанию) или сортировкой Alphabetical.

Редактирование нескольких сцен

В окне иерархии одновременно может быть открыто несколько сцен. Дополнительную информацию см. на странице Редактирование нескольких сцен.

Unity3d | как создать дочерний объект скриптом?

GavriKos

DuckMcQuack, слушайте, вот вы меня просто заставили открыть юнити и проверить это код. Всё прекрасно работает, и документация, как это ни странно, не врёт!

Значит это либо вы криво пишите, либо у вас есть другие скрипты, которые мешают вам.
Например, если у создаваемого объекта навешено rigidbody, то он не будет двигаться вместе с PrefabsParent.

Похожие статьи