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.

Материалы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Иерархия и наследование , чтобы узнать больше о том, как организованы материалы.
  • GUID материалов , чтобы узнать, как ссылаться на базовые и пользовательские материалы.
  • Файлы материалов , чтобы узнать больше о базовых и пользовательских материалах, файлах .mat и .basemat и их связи с файлами шейдеров.
  • Custom Materials статья, чтобы узнать основы создания нового материала.
  • Unified Unigine Shader Language статья, чтобы узнать, как реализовать файл шейдера для обоих API трехмерной графики.
Последнее обновление: 09.04.2021
Build: ()