This page has been translated automatically.
Видеоуроки
Interface
Essentials
Advanced
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Professional (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Landscape Tool
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World Nodes
Звуковые объекты
Объекты поиска пути
Players
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Materials and Shaders
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
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Сэмплы материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Материалы

A material is a set of properties (states, options, parameters) and assets (2D, 3D textures), described in a text file and associated with a particular object surface.material - это набор свойств (состояний, параметров, параметров) и ресурсов (2D, 3D текстуры), описанных в текстовом файле и связанных с конкретной поверхностью объекта.

UNIGINE has its own material system that includes:UNIGINE имеет собственную систему материалов, которая включает:

  • Base materials implemented by programmers. Базовые (base) материалы, реализованные программистами.
  • User materials inherited from the base materials and adjusted via Materials Editor by 3D artists. Пользовательские (user) материалы, унаследованные от базовых материалов и измененные с помощью Редактора материалов 3D-художниками.
Примечание
As UNIGINE uses its own material system, you cannot use a material provided by any third-party application.Поскольку UNIGINE использует собственную систему материалов, вы не можете использовать материалы, предоставленные сторонними приложениями.

Base MaterialsБазовые материалы#

A base material stores a set of material properties and refers to fragment, vertex and geometry shaders, describing how the material will look like. Базовый материал хранит набор свойств материала и относится к фрагменту, вершине и геометрии shaders, описывая, как материал будет выглядеть.

Shaders are written in GLSL and HLSL shading languages. In UNIGINE, there is also the Unified UNIGINE shader language (UUSL) that also can be used to write shaders: it allows creating a single shader file for both 3D graphics APIs: OpenGL and Direct3D11.Шейдеры написаны на языках затенения GLSL и HLSL. В UNIGINE также есть Unified UNIGINE shader language (UUSL), который также можно использовать для написания шейдеров: он позволяет создать один файл шейдера для обоих API-интерфейсов 3D-графики: OpenGL и Direct3D11.

The base material is stored in the *.basemat file. It cannot be edited via Materials Editor: to customize the base material, you should directly edit the text file. Or you can create a brand new one.Базовый материал хранится в файле *.basemat. Его нельзя редактировать через Редактор материалов : чтобы настроить основной материал, вы должны напрямую отредактировать текстовый файл. Или вы можете создать совершенно новый .

Примечание
It is possible to make the base material editable for research purposes. However, changes made to such material via the Materials Editor won't be saved to the *.basemat file.Можно сделать основной материал редактируемым в исследовательских целях. Однако изменения, внесенные в такой материал через Редактор материалов, не будут сохранены в файле *.basemat.

The base materials cannot form materials hierarchy: no base material can be inherited from another base material. The base material is always on the top of the hierarchy: user materials are inherited from it.Базовые материалы не могут образовывать иерархию материалов: базовый материал не может быть унаследован от другого базового материала. Базовый материал всегда находится на вершине иерархии : пользовательские материалы наследуются от него.

Примечание
A GUID is generated for the base material in run-time. A child *.mat file stores a GUID-based reference to the base material that it is inherited from.В файле *.basemat хранится название основного материала. Дочерний файл *.mat хранит основанную на имени ссылку на основной материал. GUID создается для основного материала во время выполнения.

A set of built-in base materials is quite big and contains most of the frequently asked materials.Набор встроенных базовых материалов довольно велик и содержит большинство часто запрашиваемых материалов.

User MaterialsПользовательские материалы#

A user material overrides properties sent to shaders used by the base material from which the user material (or its parent) is inherited. The user material itself cannot refer to a shader. Пользовательский материал переопределяет свойства, отправленные шейдерам, используемые базовым материалом, от которого наследуется пользовательский материал (или его родительский материал). Сам пользовательский материал не может относиться к шейдеру.

The user material is stored in the *.mat file that contains references to the parent and the base materials. Such file is usually created when inheriting a new material from the base one or the other user material via Materials Editor. The user material cannot be customized: a set of user material properties cannot differ from properties of the referred base material. However, you can edit the user material via Materials Editor.Пользовательский материал хранится в файле *.mat, который содержит ссылки на родительский и базовый материалы. Такой файл обычно создается при наследовании нового материала из базового того или иного пользовательского материала через Редактор материалов. Пользовательский материал не может быть настроен: набор свойств пользовательского материала не может отличаться от свойств указанного основного материала. Однако вы можете редактировать пользовательский материал через Редактор материалов.

Примечание
In the *.mat file, the user material GUID is stored. The child *.mat files usually store the GUID-based reference to the parent user material.В файле *.mat хранится GUID пользовательского материала. Дочерние файлы *.mat обычно хранят основанную на GUID ссылку на родительский пользовательский материал.

Unlike base materials, user materials can form materials hierarchy.В отличие от базовых материалов, пользовательские материалы могут образовывать иерархию материалов.

Manual and Internal MaterialsManual и внутренние материалы#

In UNIGINE, there are also manual materials. Such materials are created and edited manually: changes made via Materials Editor at run-time cannot be saved. All base materials (both the built-in and the custom ones) are manual. However, not every manual material is the base one: the user materials can be manual too.В UNIGINE также есть manual материалы. Такие материалы создаются и редактируются вручную: изменения, сделанные через Редактор материалов во время выполнения, не могут быть сохранены. Все базовые материалы (как встроенные, так и нестандартные) - ручные. Однако не каждый справочный материал является базовым: пользовательские материалы тоже могут быть ручными.

Примечание
Вы можете использовать одно и то же имя для базовых (*.basemat), пользовательских (*.mat) и ручных (0__igt или *.mat) материалов в рамках одного проекта: это не вызовет конфликтов.

In the *.mat file, the manual user material name is stored. The child *.mat files can store name-based or GUID-based reference to the parent manual material.В файле *.mat хранится название manual материала . Дочерние файлы *.mat могут хранить ссылку на имя или GUID на родительский manual материал.

Примечание
Only the manual material have names (comes from the file name) and can refer to the parent manual material by a name.Только manual материал может ссылаться на базовый manual материал по имени.

The manual material is implemented by programmers when it is necessary to create a material without using Materials Editor.Ручной материал реализуется программистами, когда необходимо создать материал без использования редактора материалов.

An internal material is a runtime material that is not saved on a disk. When cloning or inheriting a material, each new material becomes internal until it is saved to a file. Внутренний (internal) материал - это материал без названия. При клонировании или наследовании материала каждый новый материал становится внутренним, пока ему не будет присвоено имя.

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

  • Hierarchy and Inheritance article to know more about how materials are organized. Иерархия и наследование , чтобы узнать больше о том, как организованы материалы.
  • Materials GUIDs article to know how to refer the base and user materials. GUID материалов , чтобы узнать, как ссылаться на базовые и пользовательские материалы.
  • Materials Files section to know more about the base and user materials, the .mat and .basemat files and their connection with shader files. Файлы материалов , чтобы узнать больше о базовых и пользовательских материалах, файлах .mat и .basemat и их связи с файлами шейдеров.
  • Custom Materials article to know basics of a new material creation. Custom Materials статья, чтобы узнать основы создания нового материала.
  • Unified Unigine Shader Language article to know how to implement a shader file for both 3D graphics APIs. Unified Unigine Shader Language статья, чтобы узнать, как реализовать файл шейдера для обоих API трехмерной графики.

Статьи в этом разделе

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