This page has been translated automatically.
Видеоуроки
Interface
Essentials
Advanced
Подсказки и советы
Программирование на C#
Рендеринг
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров узла
Setting Up Materials
Setting Up Properties
Освещение
Landscape Tool
Sandworm
Использование инструментов редактора для конкретных задач
Extending Editor Functionality
Встроенные объекты
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Objects
Sound Objects
Pathfinding Objects
Players
Программирование
Основы
Настройка среды разработки
Примеры использования
UnigineScript
C++
C#
Унифицированный язык шейдеров UUSL
File Formats
Rebuilding the Engine Tools
GUI
Двойная точность координат
API
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
Работа с контентом
Оптимизация контента
Материалы
Art Samples
Tutorials
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Создание экземпляров узлов

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

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

Вместо копирования объекта рекомендуется создавать экземпляры одного объекта. Такой подход обеспечивает целостность при изменении параметров многократно используемых объектов, особенно если они сложные и изощренные. Для этого Вы можете просто добавить несколько Node References, относящихся к одному файлу *.node, а затем отредактировать только один Node Reference, чтобы обновить их все.

Ниже приведен типичный рабочий процесс для создания экземпляра узла на основе Node References.

1. Создание иерархии узлов#

Прежде всего мы должны подготовить базовую иерархию, которая будет представлять наш объект. Предположим, мы организовали иерархию узлов для вертолета, который мы собираемся повторно использовать несколько раз в нашем мире (см. Рисунок ниже)

2. Преобразование иерархии узлов#

Второй шаг - преобразовать иерархию узлов в Node Reference. Вы можете сделать это, просто перетащив корневой узел иерархии в нужную папку в Asset Browser . В папке будет создан соответствующий ресурс *.node (источник), содержащий иерархию. Иерархия узлов будет заменена ссылкой на этот ассет.

Вы также можете преобразовать отдельный узел или группу выбранных узлов в окне World Nodes Hierarchy через контекстное меню. Для этого выберите требуемый узел (узлы) в окне World Nodes Hierarchy, щелкните правой кнопкой мыши выбранный узел и выберите Create a Node Reference. Соответствующий актив *.node (источник), содержащий выбранный узел (или группу узлов в качестве дочерних с Dummy Node в качестве корня), будет создан в текущей папке, открытой в Asset Browser . Выбранные узлы будут заменены ссылкой на этот ассет.

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

Итак, у нас уже есть первый экземпляр в мире. Это тот, который заменил иерархию, когда мы перетащили ее в Asset Browser . Чтобы добавить другие экземпляры в мир, мы можем просто перетащить нужный ресурс *.node из Asset Browser прямо в Scene Viewport.

Примечание
Новый экземпляр будет помещен в начало координат.

Или вы можете просто клонировать Node Reference, как и любой другой узел, через Scene Viewport, перемещая его с помощью манипулятора, удерживая клавишу Shift . В этом случае новый экземпляр будет размещен именно там, где вы укажете.

4. Редактирование исходного узла из его экземпляров.#

Если вы решили что-то изменить в исходном узле, вы можете сделать это, отредактировав любой из его экземпляров. Для этого выполните следующие действия:

  1. Выберите любой экземпляр в мире через окно Scene Viewport или World Nodes Hierarchy. Параметры Node Reference будут отображены в окне Parameters.

  2. Щелкните Edit. Иерархия исходного узла будет отображаться в окне World Nodes Hierarchy.

  3. Отредактируйте исходный узел. Вы можете вносить любые изменения: изменять материалы, добавлять новые узлы, удалять существующие и т.д.

  4. Щелкните Apply, чтобы сохранить изменения, внесенные в исходный узел, или Cancel, чтобы отменить их. Изменения будут применены ко всем экземплярам сразу.

Видеоурок: создание экземпляров узлов#

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