Коротко
- Material Parameter Collection хранит скалярные и векторные параметры, к которым могут обращаться материалы.
- В одной коллекции может быть не более 1024 скалярных и 1024 векторных параметров.
- Один материал может ссылаться не более чем на две разные Material Parameter Collection.
- В 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 в граф — появится узел доступа к параметрам коллекции. Подключите узлы в следующем порядке:
Подключите выход базового цвета к первому входу узла Desaturation.
Подключите выход параметра коллекции ко входу Fraction узла Desaturation.
Подключите выход Desaturation ко входу Base Color главного узла материала.
Нажмите 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Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Главное практическое преимущество 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.



