Последние новости
Руководство по Cinema 4D MoGraph: Cloner, распределение и производительностьНастройки камеры и рендера в Blender для архитектуры: пошаговое руководствоArchicad 29: руководство по настройкам модели и экранаРуководство: линейная графика архитектурных сцен с Blender Line ArtРуководство по Unreal Engine World Partition: организация больших карт с Data LayersАрхитектурная анимация в Blender с помощью ключевых кадров и драйверовУправление всей сценой через Material Parameter Collection в Unreal EngineФильтры фаз в Revit: как выбрать подходящий для видов реконструкцииКак настроить Runtime Virtual Texturing в Unreal Engine: пошаговое руководствоРуководство по Blender Voxel Remesh: размер вокселя и геометрия
УрокиUnreal Engine

Управление всей сценой через Material Parameter Collection в Unreal Engine

Пошагово разберите рабочий процесс Material Parameter Collection из документации Unreal Engine 4.27. Руководство рассказывает, как задать общее значение материала, использовать его в материале и изменять со временем через Blueprint.

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

Коротко

  1. Material Parameter Collection хранит скалярные и векторные параметры, к которым могут обращаться материалы.
  2. В одной коллекции может быть не более 1024 скалярных и 1024 векторных параметров.
  3. Один материал может ссылаться не более чем на две разные Material Parameter Collection.
  4. В Blueprint можно изменить примерное значение с помощью Set Scalar Parameter Value и Timeline.

Чему вы научитесь в этом руководстве?

Вместо того чтобы менять значение отдельно во множестве материалов сцены, в Unreal Engine его можно задать в общей коллекции. Material Parameter Collection (MPC) объединяет скалярные и векторные параметры, доступные материалам. Поэтому изменение значения в коллекции применяется сразу ко всем материалам, которые его используют.

В этом руководстве мы создадим MPC, следуя примеру из документации Unreal Engine 4.27. Затем используем скалярный параметр коллекции для управления насыщенностью цвета простого материала, а в конце настроим изменение значения во время игры с помощью Blueprint и Timeline. На примере показан принцип управления свойством материала из общей точки; тот же подход можно использовать для эффектов на уровне всей сцены, например значений снега, разрушения или влажности, упомянутых в документации.

Требования

  • Программа и версия: Описание основано на рабочем процессе из документации Epic Games по Unreal Engine 4.27. Не следует считать, что в других версиях меню и интерфейс выглядят так же.

  • Содержимое проекта: Понадобятся проект Unreal Engine, материал и объекты, на которые он будет назначен.

  • Шаг с Blueprint: Для изменения значения во время игры используется Level Blueprint. Если нужно только проверить связь между коллекцией и материалом, шаг с Blueprint можно пропустить.

  • Учётная запись и оборудование: В исходной документации для этой операции не указаны особые требования к учётной записи или конкретному оборудованию.

1. Создайте Material Parameter Collection

Щёлкните правой кнопкой мыши в Content Browser, чтобы открыть меню создания. В разделе Materials & Textures выберите Material Parameter Collection. Дайте созданному ресурсу понятное имя; в примере Epic используется MPC_Global_Material_Prams.

Дважды щёлкните по коллекции, чтобы открыть её. С помощью кнопки добавления в строке Scalar Parameters создайте скалярный параметр и назовите его Global_Desaturation. Оставьте значение по умолчанию 0.0. Скалярный параметр хранит одно числовое значение, а коллекция также может содержать векторные параметры. В этом примере мы будем использовать только скалярный параметр.

Заранее задайте параметрам единообразные имена. Согласно документации Epic, переименование параметра может не нарушить работу связи в материале, где он используется, однако в Blueprint, обращающемся к параметру по имени, может потребоваться внести изменения.

2. Подключите значение коллекции к материалу

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

Добавьте в граф материала выражение Desaturation. Затем перетащите ресурс MPC из Content Browser в граф — появится узел доступа к параметрам коллекции. Подключите узлы в следующем порядке:

  1. Подключите выход базового цвета к первому входу узла Desaturation.

  2. Подключите выход параметра коллекции ко входу Fraction узла Desaturation.

  3. Подключите выход Desaturation ко входу Base Color главного узла материала.

  4. Нажмите Apply в материале.

Назначьте материал объектам сцены, затем откройте MPC и изменяйте значение Global_Desaturation в диапазоне от 0 до 1. Изменение значения повлияет на внешний вид объектов, использующих этот материал. В исходном примере объекты, которые при значении 0 выглядят синими, при значении 1 становятся белыми.

3. Измените значение с помощью Blueprint и Timeline

Для проверки связи достаточно вручную изменить значение. Чтобы запускать эффект во время игры, откройте Level Blueprint. В примере Epic используются событие нажатия левой кнопки мыши, Timeline, узел Set Scalar Parameter Value и переменная типа float с именем Des.

В узле Set Scalar Parameter Value выберите нужную MPC во входе Collection. В поле Parameter Name укажите параметр Global_Desaturation. Так Blueprint сможет обновлять нужное значение в коллекции.

Откройте Timeline и добавьте Float Track. Создайте на дорожке два ключа: время и значение первого ключа должны быть 0, а время и значение второго — 1. Дорожку можно назвать Des_Amount. В графе Blueprint подключите выход Timeline к потоку, который задаёт значение коллекции; настройте запуск эффекта при нажатии кнопки мыши и возврат при её отпускании. В исходном примере материалы становятся серыми, пока удерживается левая кнопка мыши, и возвращаются к исходным цветам после её отпускания.

Скомпилируйте граф кнопкой Compile и запустите проект. Если изменение не видно, сначала проверьте, назначен ли материал нужным объектам, скомпилирован ли граф материала и правильно ли выбраны коллекция и имя параметра в Blueprint.

Что это даёт в архитектурной визуализации?

В архитектурных сценах управление свойством множества объектов через общий параметр удобно, когда требуется менять значения на уровне всей сцены, а не настраивать каждый материал отдельно. Эффекты вроде снега, разрушения и влажности, приведённые Epic в качестве примеров, — сценарии, в которых несколько материалов могут использовать одни и те же данные. Пример с насыщенностью — простая отправная точка, демонстрирующая принцип подключения.

Этот метод требует отслеживать, какие материалы сцены ссылаются на коллекцию. Каждый материал может ссылаться не более чем на две разные MPC, а одна коллекция может содержать 1024 скалярных и 1024 векторных параметра. Изменение количества параметров в коллекции приводит к повторной компиляции материалов, ссылающихся на неё. Поэтому, если планируется добавить много параметров, полезно заранее продумать структуру коллекции. В документации также отмечено, что обновление значений MPC эффективнее, чем настройка параметров отдельно во множестве экземпляров материалов.

Частые ошибки

  • Несовпадение имени параметра: Имя, выбранное в материале или Blueprint, должно совпадать с именем в коллекции. Переименование может нарушить связь с Blueprint.

  • Неправильное подключение узлов: В этом примере выход коллекции подключается ко входу Fraction, а выход Desaturation — ко входу Base Color.

  • Отсутствие компиляции изменений: Нажмите Apply для материала и выполните Compile для Level Blueprint.

  • Попытка без ограничений поместить всё в одну коллекцию: Учитывайте лимиты параметров на коллекцию и ограничение в две коллекции на материал. Также имейте в виду, что последующее увеличение числа параметров может потребовать повторной компиляции материала.

Что делать дальше

Сначала проверьте связь с помощью одного параметра коллекции и одного материала. Затем добавьте другие материалы, использующие ту же MPC, и посмотрите, на какое количество объектов распространяется изменение одного значения. Для Blueprint возьмите за основу подход с Timeline из примера и задайте параметры, подходящие для вашей сцены. Давайте параметрам понятные имена и отслеживайте в проекте, к каким коллекциям подключены материалы.

Источник и лицензия

Это руководство адаптировано с турецкого языка по документации Epic Games Material Parameter Collections для Unreal Engine 4.27. В предоставленных сведениях об исходном материале указано, что он распространяется по свободной лицензии. Рабочий процесс и подключения из примера изложены заново, а пояснения адаптированы к контексту архитектурной визуализации.

Источники

Источников: 1
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/material-parameter-collections
Пересказ

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

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

Главное практическое преимущество MPC — возможность реже обновлять одно и то же свойство отдельно во множестве материалов. Для команд, занимающихся архитектурной визуализацией, управление общими эффектами сцены из одной точки может упростить настройку, особенно при повторяющихся правках материалов. Шаг с Blueprint позволяет менять этот контроль во время игры или интерактивной презентации.

Для офисов и студентов в Турции важнее не начальная стоимость, а совместимость с существующей структурой проекта и грамотное планирование параметров. В источнике не указаны требования к оборудованию; также не следует предполагать неподтверждённый прирост производительности. Перед использованием рабочего процесса из документации Unreal Engine 4.27 в других версиях стоит проверить интерфейс и совместимость с проектом, а также учитывать, что изменение количества параметров может привести к компиляции материалов.

Частые вопросы

Для чего нужна Material Parameter Collection в Unreal Engine?

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

Сколько параметров может быть в одной Material Parameter Collection?

Согласно документации Epic по Unreal Engine 4.27, коллекция может содержать не более 1024 скалярных и 1024 векторных параметров.

Можно ли изменять Material Parameter Collection с помощью Blueprint?

Да. В исходном примере показано, как менять скалярное значение во время игры с помощью узла Set Scalar Parameter Value и Timeline в Blueprint.

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

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