Коротко
- Material Instance наследует свойства мастер-материала; менять можно только значения, заданные как параметры.
- Scalar Parameter хранит одно числовое значение, а Vector Parameter — значение из четырёх каналов.
- Чтобы создать экземпляр материала, сначала подготовьте мастер-материал с параметрами, а затем создайте экземпляр в Content Browser.
- Группы параметров помогают упорядочить элементы управления в Material Instance Editor, особенно если их много.
Чему вы научитесь в этом руководстве?
При создании вариантов материалов в Unreal Engine не нужно заново собирать граф узлов для каждого нового вида. Material Instance наследует свойства мастер-материала и позволяет отдельно менять значения, заданные в нём как параметры. Так, на основе одного описания поверхности можно подготовить материалы с разными значениями цвета, шероховатости и металличности.
В этом руководстве вы узнаете, как настроить мастер-материал с параметрами, создать и редактировать Material Instance, а также распределить элементы управления по группам. В документации Unreal Engine отмечается, что этот подход может ускорить рабочий процесс, поскольку избавляет от необходимости перекомпилировать стандартные материалы. При редактировании параметров обновляется предпросмотр; если экземпляр применён к Actor в тестовой сцене, изменения будут видны и там.
Требования
Рабочий процесс проходит в Material Editor, Content Browser и Material Instance Editor внутри Unreal Engine. В предоставленных руководствах Epic Games не указаны требования к определённой версии Unreal Engine, уровню аппаратного обеспечения или учётной записи, поэтому здесь не приводятся номер версии или рекомендации по системе. Необходимо уметь создать и сохранить Material, а также создать его экземпляр.
Список свойств, которые можно менять в экземпляре материала, зависит от настройки мастер-материала. Обычные выражения материала сами по себе не становятся редактируемыми элементами управления: изменяемые свойства нужно задать с помощью узлов-параметров. Поэтому полезно начать не с открытия экземпляра материала, а с планирования того, какие значения мастер-материал предоставит художнику.
Пошаговая работа с Material Instance
Создайте мастер-материал. Подготовьте Material в Material Editor. Он станет родительским материалом для создаваемых экземпляров и задаст базовый вид. Определите, какие свойства должны меняться, например Base Color, Metallic и Roughness.
Преобразуйте изменяемые значения в параметры. Добавить подходящие узлы параметров можно, выполнив поиск по слову «parameter» в Material Palette или воспользовавшись контекстным меню Material Editor. Чтобы создать Scalar Parameter с одним числовым значением, нажмите S и щёлкните левой кнопкой мыши в графе. Для Vector Parameter, содержащего четыре значения с плавающей точкой, нажмите V и щёлкните левой кнопкой мыши.
В качестве базового примера в документации для Base Color используется Vector Parameter, а для Metallic и Roughness — Scalar Parameter. Давайте параметрам понятные имена, отражающие их назначение, например «Roughness» и «Metallic». Такие названия помогают понять, на что влияет каждый элемент управления, когда он появляется в Material Instance Editor.
Настройте значение по умолчанию и диапазон. Выберите узел параметра в графе, чтобы задать значение по умолчанию на панели Details. В примере Epic Games для Roughness указан диапазон от 0 до 1; эти границы можно задать в полях Slider Min и Slider Max. Это определяет диапазон, в котором значение можно менять в экземпляре. Для других значений следует выбирать границы с учётом потребностей материала, а не предполагать их, если источник их не указывает.
При необходимости преобразуйте существующее выражение в параметр. Выберите Material Expression, который не является параметром, щёлкните правой кнопкой мыши и используйте команду Convert to Parameter. Эта команда доступна не для всех выражений — только для тех, которые поддерживают преобразование в параметр. После преобразования задайте узлу уникальное и понятное имя.
Примените материал и сохраните его. Завершив подключение параметров, нажмите Apply в левом верхнем углу Material Editor, а затем сохраните материал с помощью Save. Мастер-материал с параметрами станет основой для экземпляров. Необязательно превращать в параметры значения, которые должны оставаться неизменными: в редакторе экземпляра они не появятся как доступные для изменения элементы управления.
Создайте Material Instance. Щёлкните правой кнопкой мыши по мастер-материалу в Content Browser и выберите Create Material Instance. Чтобы переименовать созданный экземпляр, выберите его и нажмите F2 либо щёлкните один раз по полю имени. Экземпляр наследует свойства мастер-материала и при создании выглядит так же, если его параметры не изменены.
Отредактируйте значения экземпляра. Дважды щёлкните по Material Instance в Content Browser, чтобы открыть Material Instance Editor. Элементы управления перечислены на панели Details под именами параметров из мастер-материала. Поставьте галочку рядом с параметром, который хотите изменить, а затем введите новое значение или щёлкните левой кнопкой мыши и перетащите указатель, чтобы скорректировать его. Чтобы изменить цвет Vector Parameter, щёлкните по образцу цвета — откроется палитра. Для возврата к значению по умолчанию используйте соответствующую стрелку сброса.
Сгруппируйте многочисленные элементы управления. Группы параметров настраиваются в мастер-материале, а не в экземпляре. Выберите узел параметра в графе мастер-материала и введите имя группы в поле Group на панели Details. Например, элементы управления можно разделить по свойствам материала, за которые они отвечают. Для порядка внутри группы используйте поле Sort Priority узла параметра; для сортировки групп — свойство Group Sort Priority мастер-материала. В документации Epic Games указано, что по умолчанию группы сортируются по алфавиту.
Влияние на рабочий процесс в архитектуре, дизайне интерьеров и archviz
Такой подход удобен для архитектурных бюро и команд по визуализации интерьеров, которым требуется создавать несколько вариантов одной и той же базовой поверхности. Например, цвет или шероховатость поверхностей в сцене можно менять между вариантами с помощью мастер-материала с параметрами и его экземпляров. Значения редактируются в Material Instance Editor, поэтому для каждого варианта не нужно заново собирать граф узлов.
Ещё один сценарий — визуальные изменения внутри сцены. Epic Games отмечает, что Dynamic Material Instance, которые можно менять во время игры, могут использоваться в архитектурной визуализации, например для изменения цвета краски. Однако это отличается от создания материала с параметрами и Material Instance в Content Browser: Dynamic-экземпляры создаются с помощью скриптов или Blueprint и могут обновляться во время выполнения. Поскольку в источнике нет подробного практического руководства по этому рабочему процессу, здесь не приводятся дополнительные подключения узлов или шаги по написанию кода.
Для работы в команде важно давать элементам управления и группам понятные имена: длинный неструктурированный список параметров может затруднить редактирование. Кроме того, Static Parameter применяются во время компиляции, а разные комбинации могут требовать компиляции новых материалов. Epic Games предупреждает, что большое число комбинаций статических параметров может привести к чрезмерному количеству компиляций шейдеров. В предоставленной документации не описаны стоимость лицензии и требования к оборудованию; для планирования проекта эти сведения необходимо проверить отдельно.
Частые ошибки
Не задать изменяемое свойство как параметр: если в мастер-материале используется обычное значение, оно не появится в экземпляре как редактируемый элемент управления. Используйте подходящий узел параметра для нужного свойства.
Дать параметру непонятное имя: понятные названия помогают быстрее находить нужное значение, когда элементов управления несколько.
Превратить в параметры все значения: добавляйте элементы управления только для значений, которые должны меняться в экземплярах; неизменяемые значения можно оставить обычными выражениями.
Создать слишком много комбинаций Static Parameter: статические параметры применяются во время компиляции, а не во время выполнения. Большое число комбинаций может увеличить количество материалов, которые потребуется скомпилировать.
Не учесть последствия изменения мастер-материала: смена материала Parent у экземпляра может изменить его вид и доступные параметры. Нельзя гарантировать, что в новом мастер-материале будут все прежние параметры.
Что делать дальше
Сначала подготовьте простой мастер-материал с небольшим числом параметров и создайте Material Instance, чтобы проверить изменения в предпросмотре. По мере роста числа элементов управления распределяйте их по группам и задавайте порядок. Если значения нужно менять во время работы сцены, учитывайте, что Constant- и Dynamic-экземпляры предназначены для разных сценариев; настройку экземпляров для времени выполнения необходимо отдельно реализовать в Blueprint или коде.
Источник и лицензия
Это руководство адаптировано на турецкий язык на основе документации Epic Games «Instanced Materials in Unreal Engine» и «Creating and Using Material Instances in Unreal Engine». В предоставленных записях источников для обеих страниц указано «лицензия=свободная».
Источники
Источников: 2Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Подход с Material Instance удобен для архитектурных бюро и команд визуализации в Турции: он позволяет быстро подготовить варианты одной поверхности с разным цветом и шероховатостью. Однократная настройка мастер-материала сокращает необходимость заново собирать граф узлов для повторяющихся вариантов.
Однако эффективность зависит от того, насколько хорошо структурирован мастер-материал с параметрами. Общие для команды названия элементов управления и групп упростят работу тому, кто унаследует файл. В источниках не указаны стоимость лицензии и требования к оборудованию, поэтому эти сведения следует проверить отдельно. Также стоит учитывать рост числа комбинаций статических параметров и возможность изменения вида экземпляров при смене мастер-материала.
Частые вопросы
Как создать Material Instance в Unreal Engine?
Сначала подготовьте и сохраните мастер-материал, в котором изменяемые свойства заданы как параметры. Затем щёлкните по нему правой кнопкой мыши в Content Browser и выберите Create Material Instance.
Какие значения можно менять в Material Instance?
В Material Instance Editor можно редактировать свойства, заданные как параметры в мастер-материале. Scalar Parameter хранит одно числовое значение, а Vector Parameter — значение из четырёх каналов.
Чем Material Instance отличается от Dynamic Material Instance?
Material Instance Constant рассчитывается до выполнения и не меняется во время игры. Material Instance Dynamic создаётся и редактируется во время выполнения с помощью скрипта или Blueprint.



