This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Компонентная Система
Рендер
Физика
Редактор 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
Учебные материалы

Свойства (properties)

For the object to be correctly integrated into the world, defining its position, inherent characteristics and outside appearance will be insufficient. Properties specify the way the object will behave and interact with other objects and the scene environment.Для правильной интеграции объекта в мир недостаточно определения его положения, внутренних характеристик и внешнего вида. Свойства (properties) определяют способ поведения объекта и его взаимодействия с другими объектами и средой сцены.

What is a Property?Что такое свойство?#

A property can be thought of as a "material" for application logic. It represents a set of logic-related parameters. You can define conditions, based on which parameters of the property become available/unavailable in the UnigineEditor. Свойство можно рассматривать как «материал» для логики приложения. Оно представляет собой набор связанных с логикой параметров. Вы можете определить условия , на основании которых параметры свойства становятся доступными / недоступными в UnigineEditor.

Property parameters can be of various types - from a simple integer representing your character's hit points, to node, material, file (for textures, meshes, sounds, etc.), or property, which simplifies access to various resources.Параметры свойств могут быть различных типов - от простого целого , представляющего жизни вашего персонажа, до узла, материала, файла (для текстур, мешей, звуков и т.д.), или свойство , что упрощает доступ к различным ресурсам.

You can also use complex data types in your properties which provides additional flexibility to implement your application logic. These data types are as follows:Вы также можете использовать сложные типы данных в своих свойствах, что обеспечивает дополнительную гибкость для реализации логики вашего приложения. Эти типы данных следующие:

  • Structure can be thought of as "a definition of a property inside a property". Thus, a structure is also composed of parameters of any type supported by the property, including arrays.Структура - ее можно рассматривать как «определение свойства внутри свойства». Таким образом, структура также состоит из параметров любого типа, поддерживаемого свойством, включая массивы .

    Structures, just like properties, can also include other structures (nested) and can be organized in hierarchy with parameter inheritance and overloading (much like in object-oriented programming). When a structure is inherited, all its parameters are inherited from the parent. If a parameter value is changed for the parent, it will be automatically changed for the child as well, unless it was overridden (set to a different value) for the child before that.Структуры, как и свойства, также могут включать в себя другие структуры (вложенные) и могут быть организованы в иерархию с наследованием и перегрузкой параметров (как в объектно-ориентированном программировании). Когда структура наследуется, все ее параметры наследуются от родителя. Если значение параметра изменено для родителя, оно будет автоматически изменено и для дочернего элемента, если до этого оно не было переопределено (установлено другое значение) для дочернего элемента.

    Примечание
    In case if a property has a structure parameter (struct), the definition of this structure inside the *.prop file must appear before the parameter. The same is true, when a structure inherits from another structure: the parent must be defined before its child.В случае, если свойство имеет параметр структуры ( struct ), определение этой структуры внутри файла *.prop должно появиться перед параметром. То же самое верно, когда структура наследуется от другой структуры: родительский элемент должен быть определен до его дочернего элемента.
  • Array is a collection of parameters, all having the same type, and accessed using a common name followed by an index: array[0].Массив - это набор параметров одного типа, доступ к которым осуществляется с помощью общего имени, за которым следует индекс: array [0] .

    Arrays can have multiple dimensions (arrays of arrays), but be careful: the amount of memory needed for an array increases exponentially with each dimension. Arrays of structures are also supported.Массивы могут иметь несколько измерений (массивы массивов), но будьте осторожны: объем памяти, необходимый для массива, увеличивается экспоненциально с каждым измерением. Также поддерживаются массивы структур .

UNIGINE's Properties system includes the following:Система свойств UNIGINE включает в себя следующее:

All properties in the project are organized in a hierarchy.Все свойства в проекте организованы в иерархию .

Each property is stored in a separate *.prop file, except for the internal properties.Каждое свойство хранится в отдельном файле *.prop , за исключением внутренних свойств .

Manual PropertiesManual свойства#

Manual properties are created and edited manually: they are displayed as read-only in the UnigineEditor. It is possible to modify them via API at run time (if the corresponding flag is set), but such changes won't be saved. To customize a manual property, you should either inherit a new user property from it or directly edit the corresponding *.prop file. Manual свойства создаются и редактируются вручную: они отображаются в UnigineEditor как доступные только для чтения. Их можно изменить через API во время выполнения (если установлен соответствующий флаг ), но такие изменения не будут сохранены. Чтобы настроить manual свойство, вы должны либо унаследовать от него новое пользовательское свойство , либо напрямую отредактировать соответствующий файл *.prop.

Примечание
When inheriting from a property, the parent passes all its parameters to the child. If the parent property is modified later, all inherited properties that are not overridden will be updated automatically.При наследовании от свойства родительский элемент передает все свои параметры дочернему элементу. Если родительское свойство будет изменено позже, все унаследованные свойства, которые не были переопределены, будут обновлены автоматически.

In the *.prop file of a manual property its name is stored. If a manual property is inherited from another manual property, the child's *.prop file will store a name-based reference to the parent. The GUID for the manual property is uniquely determined by its name and is generated at run time.В файле *.prop manual свойства хранится его имя. Если ручное свойство унаследовано от другого ручного свойства, дочерний файл *.prop будет хранить ссылку по имени на родительский. GUID для manual свойства однозначно определяется его именем и создается во время выполнения.

Base PropertiesБазовые свойства#

Base property is a manual property that does not have a parent, base properties are at the top-level of the hierarchy, all other properties are inherited from them. Базовое свойство - это свойство manual, не имеющее родителя, базовые свойства находятся на верхнем уровне иерархии , все остальные свойства наследуются от них.

By default, UNIGINE provides 2 built-in read-only base properties: node_base and surface_base. You can also make custom base properties of your own.По умолчанию UNIGINE предоставляет встроенные базовые свойства 2 только для чтения: node_base и surface_base. Вы также можете создавать собственные базовые свойства.

User PropertiesПользовательские свойства#

User property is a property inherited from any other property via the UnigineEditor, it overrides the parameters of its parent. Пользовательское свойство (user) - это свойство, унаследованное от любого другого свойства через UnigineEditor , оно переопределяет параметры своего родителя.

The *.prop file of the user property contains its GUID and a GUID-based reference to the parent property. Such file is created automatically when inheriting a new property in the UnigineEditor. The set of user property parameters is determined by its parent, while their values can be modified.Файл *.prop свойства пользователя содержит его GUID и ссылку на GUID на родительское свойство. Такой файл создается автоматически при наследовании нового свойства в UnigineEditor. Набор параметров свойств пользователя определяется его родительским элементом, а их значения могут быть изменены.

Internal PropertiesВнутренние свойства#

Internal property is a property without a name. When cloning or inheriting a property, each new property becomes internal until a name is assigned to it. Internal properties are also created when you assign a property to a node. Внутреннее (internal) свойство - это свойство без имени. При клонировании или наследовании свойства каждое новое свойство становится внутренним, пока ему не будет присвоено имя. Внутренние свойства также создаются, когда вы назначаете свойство узлу.

Примечание
Instanced properties assigned to nodes are saved in a *.node or a *.world file.Экземпляры свойств, назначенные узлам, сохраняются в файле *.node или *.world.

See AlsoСмотрите также#

  • Hierarchy and Inheritance article to learn more about how properties are organized. Иерархия и наследование , чтобы узнать больше о том, как организованы свойства.
  • Property GUIDs chapter to learn how to refer to manual and user properties. GUID свойств , чтобы узнать, как обращаться к руководству и свойствам пользователя.
  • Property File Format article to learn more about the *.prop files. Формат файла свойств , чтобы узнать больше о файлах *.prop.
  • Properties class article to learn more about managing properties via API.Класс Properties , чтобы узнать больше об управлении свойствами через API.
  • Property class article to learn more about managing a property via API.Класс Property, чтобы узнать больше об управлении собственностью через API.
  • PropertyParameter class article to learn more about managing property parameters via API.Класс PropertyParameter, чтобы узнать больше об управлении параметрами свойств через API.
Последнее обновление: 17.02.2021
Build: ()