Последние новости
Руководство по Rhino 8 ShrinkWrap: преобразование NURBS и сканов в meshIASS 2027 пройдет в Стамбуле: симпозиум о структурном проектированииКак сбалансировать качество теней и производительность в Unreal Engine 5Архитектурное видео с Veo 3.1: промпты и монтаж в FlowGoogle представила TPU 8tx и TPU 8i Max: две новые системыВторое здание ICA Miami спроектирует Gensler: открытие — в 2027 годуEarth Craft смещает фокус павильона США на землю на Венецианской биеннале 2027 годаМемориал Фритауна с помощью стеклянной пирамиды увековечил 946 носильщиковГид по модификаторам Blender: перенос данных, нормали и кэш сеткиРендер интерьера в Blender Cycles: как ускорить расчёт световых путей
УрокиUnreal Engine

Создание Material Instance в Unreal Engine: пошаговое руководство

Material Instance в Unreal Engine позволяет изменять свойства, заданные в мастер-материале как параметры, не перестраивая граф узлов. В руководстве описан рабочий процесс: от подготовки материала до настройки его экземпляров.

Реалистичная архитектурная визуализация с примерами материалов в современном интерьереИИ-изображение
Иллюстрация создана с помощью ИИ.Изображение: 3dsınıfı / FCA AI

Коротко

  1. Material Instance наследует свойства мастер-материала; менять можно только значения, заданные как параметры.
  2. Scalar Parameter хранит одно числовое значение, а Vector Parameter — значение из четырёх каналов.
  3. Чтобы создать экземпляр материала, сначала подготовьте мастер-материал с параметрами, а затем создайте экземпляр в Content Browser.
  4. Группы параметров помогают упорядочить элементы управления в 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

  1. Создайте мастер-материал. Подготовьте Material в Material Editor. Он станет родительским материалом для создаваемых экземпляров и задаст базовый вид. Определите, какие свойства должны меняться, например Base Color, Metallic и Roughness.

  2. Преобразуйте изменяемые значения в параметры. Добавить подходящие узлы параметров можно, выполнив поиск по слову «parameter» в Material Palette или воспользовавшись контекстным меню Material Editor. Чтобы создать Scalar Parameter с одним числовым значением, нажмите S и щёлкните левой кнопкой мыши в графе. Для Vector Parameter, содержащего четыре значения с плавающей точкой, нажмите V и щёлкните левой кнопкой мыши.

    В качестве базового примера в документации для Base Color используется Vector Parameter, а для Metallic и Roughness — Scalar Parameter. Давайте параметрам понятные имена, отражающие их назначение, например «Roughness» и «Metallic». Такие названия помогают понять, на что влияет каждый элемент управления, когда он появляется в Material Instance Editor.

  3. Настройте значение по умолчанию и диапазон. Выберите узел параметра в графе, чтобы задать значение по умолчанию на панели Details. В примере Epic Games для Roughness указан диапазон от 0 до 1; эти границы можно задать в полях Slider Min и Slider Max. Это определяет диапазон, в котором значение можно менять в экземпляре. Для других значений следует выбирать границы с учётом потребностей материала, а не предполагать их, если источник их не указывает.

  4. При необходимости преобразуйте существующее выражение в параметр. Выберите Material Expression, который не является параметром, щёлкните правой кнопкой мыши и используйте команду Convert to Parameter. Эта команда доступна не для всех выражений — только для тех, которые поддерживают преобразование в параметр. После преобразования задайте узлу уникальное и понятное имя.

  5. Примените материал и сохраните его. Завершив подключение параметров, нажмите Apply в левом верхнем углу Material Editor, а затем сохраните материал с помощью Save. Мастер-материал с параметрами станет основой для экземпляров. Необязательно превращать в параметры значения, которые должны оставаться неизменными: в редакторе экземпляра они не появятся как доступные для изменения элементы управления.

  6. Создайте Material Instance. Щёлкните правой кнопкой мыши по мастер-материалу в Content Browser и выберите Create Material Instance. Чтобы переименовать созданный экземпляр, выберите его и нажмите F2 либо щёлкните один раз по полю имени. Экземпляр наследует свойства мастер-материала и при создании выглядит так же, если его параметры не изменены.

  7. Отредактируйте значения экземпляра. Дважды щёлкните по Material Instance в Content Browser, чтобы открыть Material Instance Editor. Элементы управления перечислены на панели Details под именами параметров из мастер-материала. Поставьте галочку рядом с параметром, который хотите изменить, а затем введите новое значение или щёлкните левой кнопкой мыши и перетащите указатель, чтобы скорректировать его. Чтобы изменить цвет Vector Parameter, щёлкните по образцу цвета — откроется палитра. Для возврата к значению по умолчанию используйте соответствующую стрелку сброса.

  8. Сгруппируйте многочисленные элементы управления. Группы параметров настраиваются в мастер-материале, а не в экземпляре. Выберите узел параметра в графе мастер-материала и введите имя группы в поле 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
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/instanced-materials-in-unreal-engine
Пересказ
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/creating-and-using-material-instances-in-unreal-engine
Пересказ

Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.

Мнение 3dsınıfı
3dОценка редактора

Подход с 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.

Комментарии и форум — на турецком языке.Присоединиться к обсуждению
+

Похожие новости