This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
API
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы

Создание экземпляров объектов (Инстансинг)

The virtual world, that you're building, may contain a lot of identical objects, that should always look the same, such as electricity pylons, planes, wheels, boxes, etc.Виртуальный мир, который вы строите, может содержать множество одинаковых объектов, которые всегда должны выглядеть одинаково, например, электрические опоры, самолеты, колеса, коробки и т.д.

When you clone these objects and place them in your world, multiple separate copies are created. Thus, if you decide to change something (e.g., the geometry or materials of some parts of the pylons) you'll have do that for each copy individually.Когда вы клонируете эти объекты и помещаете их в свой мир, создается несколько отдельных копий. Таким образом, если вы решите что-то изменить (например, геометрию или материалы некоторых частей пилонов), вам придется сделать это для каждой копии индивидуально.

Instead of making copies of an object, it is recommended to make instances of a single one. Such approach ensures integrity when changing the parameters of the repeatedly used objects, especially if they are complex and sophisticated. To do so, You can simply add several Node References referring to a single *.node file and then edit only one node reference in order to update all of them. Вместо копирования объекта рекомендуется создавать экземпляры одного объекта. Такой подход обеспечивает целостность при изменении параметров многократно используемых объектов, особенно если они сложные. Для этого вы можете просто добавить несколько Node References, относящихся к одному файлу *.node, а затем отредактировать только один Node Reference, чтобы обновить их все.

Below is the typical workflow for node instancing based on Node References.Ниже приведен типичный алгоритм создания экземпляра составного объекта на основе Node References.

1. Creating a Hierarchy of Nodes1. Создание базовой иерархии#

First of all we should prepare the basic hierarchy, that will represent our object. Suppose we have organized the nodes hierarchy for a helicopter, that we are going to reuse several times in our world (see the picture below)Прежде всего мы должны подготовить базовую иерархию, которая будет представлять наш объект. Предположим, мы организовали иерархию нод для вертолета, который мы собираемся повторно использовать несколько раз в нашем мире (см. Рисунок ниже)

2. Converting the Hierarchy of Nodes2. Преобразование иерархии нод#

The second step is to convert the hierarchy of nodes to a Node Reference. You can do that by simply dragging the root node of the hierarchy to the desired folder in the Asset Browser. A corresponding *.node asset (source), containing the hierarchy, will be created in the folder. The node hierarchy will be replaced with a reference to this asset.Второй шаг - преобразовать иерархию нод в Node Reference. Вы можете сделать это, просто перетащив корневую ноду иерархии в нужную папку в Asset Browser . В папке будет создан соответствующий ассет *.node (источник), содержащий иерархию. Иерархия нод будет заменена ссылкой на этот ассет.

You can also convert a single node or a group of selected nodes in the World Nodes Hierarchy window via the context menu. To do so, select the desired node(s) in the World Nodes Hierarchy window, right-click on the selected node and choose Create a Node Reference. A corresponding *.node asset (source), containing the selected node (or a group of nodes as children with a Dummy Node as the root), will be created in the current folder opened in the Asset Browser. Selected nodes will be replaced with a reference to this asset.Вы также можете преобразовать отдельную ноду или группу выбранных нод в окне World Nodes Hierarchy через контекстное меню. Для этого выберите требуемую ноду (группу нод) в окне World Nodes Hierarchy, щелкните правой кнопкой мыши выбранную ноду и выберите Create a Node Reference. Соответствующий ассет *.node (источник), содержащий выбранную ноду (или группу нод в качестве дочерних с Dummy Node в качестве корня), будет создан в текущей папке, открытой в Asset Browser . Выбранные ноды будут заменены ссылкой на этот ассет.

3. Placing Instances3. Размещение экземпляров#

So, we already have the first instance in the world. It's the one, that replaced the hierarchy, when we dragged it to the Asset Browser. To add other instances to the world, we can simply drag the desired *.node asset from the Asset Browser directly to the Scene Viewport.Итак, у нас уже есть первый экземпляр в мире. Это тот, который заменил иерархию, когда мы перетащили ее в Asset Browser . Чтобы добавить другие экземпляры в мир, мы можем просто перетащить нужный *.node ассет из Asset Browser прямо в Scene Viewport.

Примечание
The new instance will be placed at the origin.Новый экземпляр будет помещен в начало координат.

Or you can simply clone a node reference, as any other node, via the Scene Viewport by moving it with a manipulator while holding the Shift key. In this case a new instance will be placed exactly where you point to.Или вы можете просто клонировать Node Reference, как и любую другую ноду, через Scene Viewport, перемещая ее с помощью манипулятора и удерживая клавишу Shift . В этом случае новый экземпляр будет размещен именно там, где вы укажете.

4. Editing the Source Node from its Instances4. Редактирование исходного Node Reference из его экземпляров.#

If you decide to change something in the source node, you can do that by editing any of its instances. To do so, perform the following steps:Если вы решили что-то изменить в исходном Node Reference, вы можете сделать это, отредактировав любой из его экземпляров. Для этого выполните следующие действия:

  1. Select any instance in the world via the Scene Viewport or the World Nodes Hierarchy window. The parameters of the node reference will be displayed in the Parameters window.Выберите любой экземпляр в мире через окно Scene Viewport или World Nodes Hierarchy. Параметры Node Reference будут отображены в окне Parameters.

  2. Click Edit. The hierarchy of the source node will be displayed in the World Nodes Hierarchy window.Щелкните Edit. Иерархия исходного Node Reference будет отображаться в окне World Nodes Hierarchy.

  3. Edit the source node. You can make any changes: modify materials, add new nodes, remove existing ones, etc.Отредактируйте исходный Node Reference. Вы можете вносить любые изменения: изменять материалы, добавлять новые ноды, удалять существующие и т.д.

  4. Click Apply to save changes made to the source node or Cancel to discard them. The changes will be applied to all instances at once.Щелкните Apply, чтобы сохранить внесенные изменения, или Cancel, чтобы отменить их. Изменения будут применены ко всем экземплярам сразу.

Видеоурок: создание экземпляров объектов (Инстансинг)#

Последнее обновление: 12.01.2023
Build: ()