Коротко
- Экземпляры материалов позволяют менять свойства, заданные как параметры в родительском материале, не редактируя граф узлов.
- Scalar-параметры управляют одиночными значениями, например шероховатостью, а Vector-параметры — четырёхканальными значениями, например цветом.
- Material Parameter Collection централизованно управляет общими scalar- и vector-значениями сразу в нескольких материалах.
- Согласно документации Epic для UE 4.27, материал может обращаться максимум к двум коллекциям; каждая коллекция может содержать 1024 scalar- и 1024 vector-параметра.
В Unreal Engine родительский материал и его экземпляры можно использовать, чтобы создавать на основе одной поверхности варианты цвета, шероховатости и текстуры для сцен архитектурной визуализации. В документации Epic этот подход строится на предварительной настройке изменяемых свойств в виде параметров — вместо того чтобы заново собирать материал для каждого варианта. Ниже объединены рабочие процессы из документации по экземплярам материалов, Material Parameter Collection и Archviz Interior Rendering для UE 4.27.
1. Сначала определите, какие свойства будут меняться в родительском материале
Родительский материал — это базовый граф, от которого наследуются дочерние экземпляры. Создавая экземпляр, вы берёте внешний вид и свойства родительского материала за отправную точку. Однако редактировать можно не любое свойство автоматически: значения, которые нужно менять в экземпляре, необходимо задать в родительском материале как параметры.
В архитектурных сценах для вариантов поверхности можно использовать такие свойства, как Base Color, Metallic и Roughness. В интерьерном примере Epic для замены текстуры применяется Texture Parameter, для добавления оттенка поверх текстуры — Vector4 Parameter, а для вариантов с переключением — Switch Parameter. Если заранее выбрать свойства, которые действительно должны менять художники и дизайнеры, родительский материал станет удобнее в работе.
Давайте параметрам понятные уникальные имена. Например, в документации для Roughness Scalar Parameter задано значение по умолчанию 0,25. Значения, которые должны оставаться неизменными, не отображаются в редакторе экземпляра, если не сделать их параметрами. Так команда может разделить свойства, которые разрешено менять, и те, которые следует оставить без изменений.
2. Создайте экземпляр материала и настройте варианты
Подготовьте подходящий базовый материал и задайте в виде параметров значения, которые хотите менять. Scalar Parameter содержит одно число с плавающей точкой и подходит для отдельных настроек, таких как Roughness и Metallic. Vector Parameter содержит четыре канала и позволяет управлять составными значениями, например цветом. Texture Parameter позволяет менять текстуру, используемую в экземпляре.
Щёлкните правой кнопкой мыши по ресурсу материала в
Content Browserи выберитеCreate Material Instance. В открывшемся экземпляре материала в разделеParameter Groupsна панели справа будут доступны для редактирования унаследованные от родительского материала свойства, которые были открыты для настройки.Создайте варианты цвета, текстуры или шероховатости на основе экземпляров. В примере Archviz от Epic показано, как менять оттенок с помощью экземпляров материалов, а также заменять диффузную или normal-текстуру другой текстурой. Так можно создавать варианты на основе одной структуры, вместо того чтобы настраивать отдельный базовый материал для каждого объекта.
Проверьте изменения в основном viewport. Согласно документации, изменения параметров в экземплярах материалов быстро отображаются без повторной компиляции стандартного графа материала. Компиляция стандартного материала может занимать до минуты в зависимости от сложности; это не гарантированная величина производительности для каждого проекта.
| Настройка | Рекомендуемое значение | Эффект |
|---|---|---|
| Roughness Scalar Parameter | Значение по умолчанию 0,25 в примере из документации | Позволяет редактировать шероховатость в экземпляре материала. |
| Global_Desaturation Scalar Parameter | Значение по умолчанию 0,0 в примере UE 4.27 | Управляет насыщенностью связанных материалов через коллекцию. |
3. Управляйте общими значениями с помощью Material Parameter Collection
Если одно и то же значение требуется менять во многих материалах, можно использовать Material Parameter Collection (MPC). Этот ресурс хранит scalar- и vector-параметры; материалы могут обращаться к одной коллекции и получать общие значения. Epic описывает этот способ как альтернативу необходимости по отдельности обновлять экземпляры материалов для таких значений уровня, как влажность, снег или степень разрушения.
Чтобы создать коллекцию, щёлкните правой кнопкой мыши в Content Browser, затем выберите Material Parameter Collection в разделе Materials & Textures. Откройте коллекцию и добавьте новое значение с помощью кнопки добавления рядом с заголовком Scalar Parameters или Vector Parameters, после чего задайте имя и значение по умолчанию. Чтобы использовать коллекцию в графе материала, добавьте в граф соответствующую коллекцию и подключите узел Material Collection Parameter к нужному входу материала. В примере из документации Global_Desaturation подключён ко входу Fraction узла Desaturation.
Учитывайте ограничения, приведённые в документации UE 4.27: материал может обращаться максимум к двум разным Material Parameter Collection; в одной коллекции может быть не более 1024 scalar- и 1024 vector-параметров. Изменение числа параметров в коллекции приводит к повторной компиляции материалов, которые к ней обращаются. Поэтому, если ожидается добавление множества значений, лучше заранее спланировать параметры.
Значения коллекции можно менять и во время работы игры с помощью Blueprint. В примере из документации узел Set Scalar Parameter Value получает коллекцию и имя параметра; через Timeline значение увеличивается от 0 до 1, а затем возвращается обратно. Переименование параметра в коллекции может сохранить связи с материалами, однако в функции Blueprint, где используется это имя, потребуется заново задать имя параметра.
4. Где это пригодится в рабочем процессе архитектурной визуализации?
Если в сценах квартир, офисов или жилых домов нужны несколько вариантов цвета одной и той же деревянной, тканевой или окрашенной поверхности, экземпляры материалов упрощают управление этими вариантами. Общий родительский материал позволяет централизованно поддерживать согласованные свойства, а экземпляры — менять их с учётом объекта или варианта дизайна. MPC также можно использовать для общих значений сцены, влияющих сразу на несколько материалов.
В примере Epic Archviz Interior Rendering для UE 4 показаны физически корректные материалы, родительские материалы и экземпляры, динамическое освещение и методы трассировки лучей. Это не означает, что в каждом проекте визуализации нужно использовать одинаковую схему освещения; пример лишь показывает, что экземпляры материалов могут быть частью более широкого рабочего процесса для интерьеров. В частности, в сценах с трассировкой лучей следует одновременно оценивать качество отражений и производительность. Поскольку системные требования и условия лицензирования в этих документах не указаны, их необходимо отдельно проверить для конкретного проекта.
Частые ошибки
Попытка изменить в экземпляре материала значение, которое не было параметризовано в родительском материале. Сначала проверьте, задано ли соответствующее свойство в родительском графе как параметр.
Создание отдельного родительского материала для каждого объекта. Если у объектов есть похожие свойства, общий родительский материал и экземпляры могут обеспечить более эффективную структуру.
Отсутствие проверки связей Blueprint после переименования параметра MPC. Необходимо заново задать поле Parameter Name в функции Blueprint, где используется это имя.
Использование большого числа Static Parameter. Комбинации статических параметров могут приводить к отдельным компиляциям материалов; Epic рекомендует ограничивать их число и количество используемых комбинаций.
Источники
Источников: 3Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Для архитектурных и визуализационных бюро в Турции практическая польза этого подхода — более упорядоченное управление вариантами цвета и текстуры в рамках одного семейства поверхностей и сокращение повторяющихся настроек материалов. Общий стандарт родительского материала в команде также помогает определить, какие значения можно безопасно менять при внесении правок.
Однако экземпляры материалов не отменяют требований к оборудованию: особенно в интерьерных сценах с трассировкой лучей необходимо проверять и визуальное качество, и производительность. При планировании также следует учитывать ограничения коллекций и зависимость Blueprint от имён параметров. Условия лицензирования в исходной документации не приведены, поэтому следует отдельно проверить версию Unreal Engine и условия проекта.
Частые вопросы
Для чего нужен экземпляр материала в Unreal Engine?
Он позволяет менять свойства, заданные как параметры в родительском материале, не редактируя граф материала. Так можно создавать варианты цвета, шероховатости или текстуры.
Сколько параметров может содержать Material Parameter Collection?
Согласно документации Epic для UE 4.27, одна коллекция может содержать максимум 1024 scalar- и 1024 vector-параметра.
Сколько Material Parameter Collection может использовать один материал?
Согласно документации UE 4.27, материал может обращаться максимум к двум разным Material Parameter Collection.



