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)
VR Development
Двойная точность координат
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
Учебные материалы
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Материалы

Материал — это набор свойств (состояний, опций, параметров) и ассетов (2D, 3D текстуры), описанных в текстовом файле и связанных с конкретной поверхностью объекта.

UNIGINE имеет собственную систему материалов, которая включает:

  • Базовые (base) материалы, реализованные программистами.
  • Пользовательские (user) материалы, унаследованные от базовых материалов и измененные с помощью Редактора материалов 3D-художниками.
Примечание
Поскольку UNIGINE использует собственную систему материалов, вы не можете использовать материалы, предоставленные сторонними приложениями.

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

Базовый материал хранит набор свойств материала и ссылок на фрагментные, вершинные и геометрические шейдеры, описывая, как материал будет выглядеть.

Шейдеры написаны на языках GLSL и HLSL. В UNIGINE также есть собственный язык UNIGINE Unified Shader Language (UUSL), который также можно использовать для написания шейдеров: он позволяет создать один файл шейдера для обоих графических API: OpenGL и Direct3D11.

Базовый материал хранится в файле *.basemat. Его нельзя изменять в Редакторе материалов : чтобы изменить базовый материал, вы должны непосредственно отредактировать текстовый файл. Или вы можете создать совершенно новый .

Примечание
Можно сделать базовый материал редактируемым в исследовательских целях. Однако изменения, внесенные в такой материал через Редактор материалов, не будут сохраняться в файле *.basemat.

Базовые материалы не могут образовывать иерархию материалов: базовый материал не может быть унаследован от другого базового материала. Базовый материал всегда находится на вершине иерархии : пользовательские материалы наследуются от него.

Примечание
GUID создается для базового материала во время выполнения. Дочерний файл *.mat хранит основанную на GUID ссылку на базовый материал, от которого он отнаследован.

Набор встроенных базовых материалов довольно велик и содержит большинство часто запрашиваемых материалов.

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

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

Пользовательский материал хранится в файле *.mat, который содержит ссылки на родительский и базовый материалы. Такой файл обычно создается при наследовании нового материала из базового или другого пользовательского материала через Редактор материалов. Пользовательский материал нельзя перенастроить: набор свойств пользовательского материала не может отличаться от свойств выбранного базового материала. Однако вы можете редактировать пользовательский материал через Редактор материалов.

Примечание
В файле *.mat хранится GUID пользовательского материала. Дочерние файлы *.mat обычно хранят основанную на GUID ссылку на родительский пользовательский материал.

В отличие от базовых материалов, пользовательские материалы могут образовывать иерархию материалов.

Созданные вручную и внутренние материалы#

В UNIGINE также есть созданные вручную (manual) материалы. Такие материалы создаются и редактируются вручную: изменения, сделанные через Редактор материалов во время выполнения, не сохраняются. Все базовые материалы (как встроенные, так и нестандартные) относятся к созданным вручную. Однако не каждый созданный вручную материал является базовым: пользовательские материалы тоже могут быть созданы вручную.

В файле *.mat хранится название материала, созданного вручную. Дочерние файлы *.mat могут хранить ссылку на основе имени или GUID на родительский материал, созданный вручную.

Примечание
Только созданный вручную материал может ссылаться на базовый созданный вручную материал по имени.

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

Внутренний (internal) материал — это материал без названия. При клонировании или наследовании материала каждый новый материал становится внутренним, пока его не сохранят.

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

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