Коротко
- Material Function позволяют повторно использовать части графа материала в разных материалах.
- Material Parameter Collection может передавать общие скалярные и векторные значения нескольким материалам.
- Один материал может ссылаться максимум на две разные Material Parameter Collection.
- Pivot Painter использует данные о pivot и вращении модели, чтобы анимировать растительность в реальном времени.
В этом руководстве собраны рабочие процессы с Material Function, Material Parameter Collection и Pivot Painter, описанные в официальной документации для Unreal Engine 4.27. Цель — упорядочить настройку материалов в архитектурной визуализации и сценах реального времени: вместо изменения общих значений на каждом объекте управлять ими с помощью повторно используемых компонентов. Ниже рассматриваются только инструменты и значения, описанные в документации.
1. Перенесите повторяющиеся графы в Material Function
Щёлкните правой кнопкой мыши в Content Browser и выберите
New › Materials & Textures › Material Function, чтобы создать Material Function. Название, отражающее назначение функции, поможет быстрее находить её в проекте.Откройте функцию и добавьте в граф необходимые узлы. В примере Fresnel из документации используются узлы Constant 3 Vector, Vector Transform, Dot Product, Camera Vector WS, Clamp, OneMinus, Power и Multiply.
В примере функции синий канал узла Constant 3 Vector задаётся равным
1.0; Vector Transform преобразует пространство Tangent Space в World Space. Результат Dot Product ограничивается диапазоном от0до1, а затем инвертируется с помощью OneMinus.С помощью узлов Function Input задайте значения, которые можно будет менять извне. В примере из документации входы
Fresnel ExponentиFresnel Intensityподключаются к узлам Power и Multiply. Подключите результат к Output Result и выполните компиляцию, нажав Apply.
Главное преимущество Material Function — возможность повторно использовать общий фрагмент графа вместо того, чтобы заново собирать его для каждого материала. Это может упростить внесение изменений в поверхности с одинаковым визуальным поведением и обеспечить единый подход к созданию материалов. Однако при редактировании функции нужна осторожность: документация предупреждает, что ошибка в используемой функции или удаление её возможностей может нарушить работу связанных материалов.
2. Добавьте функцию в материал и проверьте пример
Создайте новый Material в Content Browser и перетащите Material Function в граф.
Подключите входы функции к соответствующим параметрам материала. В примере Fresnel выход функции передаётся в Emissive Color, а Constant 3 Vector подключается к Base Color.
Начать с примерных значений удобно, чтобы проверить, работает ли граф как задумано. Настройки из примера официальной документации приведены в таблице ниже.
Скомпилируйте материал и протестируйте его на меше в сцене. Если функция используется и в других материалах, изменения могут повлиять сразу на несколько ресурсов. Перед применением изменений в проекте проверьте все связанные материалы.
| Настройка | Примерное значение | Эффект |
|---|---|---|
| Base Color в примере Fresnel | R: 1.0, G: 0, B: 0 | Задаёт базовый цвет материала из примера в документации. |
| Metallic | 1.0 | Значение Metallic для материала из примера. |
| Roughness | 0.5 | Значение Roughness для материала из примера. |
| Fresnel Intensity | 1.0 | Пример входного значения, которое задаёт интенсивность эффекта Fresnel. |
| Fresnel Exponent | 5.0 | Пример входного значения, управляющего распределением эффекта ближе к краям. |
| Ёмкость Material Parameter Collection | До 1024 скалярных и 1024 векторных параметров | Документированный максимальный предел для одной коллекции. |
Эти числа следует рассматривать как пример настройки из документации Unreal Engine 4.27, а не как универсальные значения, которые обеспечат лучший результат в любом проекте.
3. Управляйте общими значениями с помощью Material Parameter Collection
Щёлкните правой кнопкой мыши в Content Browser и выберите
Materials & Textures › Material Parameter Collection, чтобы создать коллекцию.Откройте коллекцию и добавьте параметры в раздел Scalar Parameters или Vector Parameters. Для каждого параметра задайте имя и значение по умолчанию.
Добавьте в граф материала узел Material Collection Parameter, чтобы использовать значение из коллекции. В официальном примере скалярный параметр
Global_Desaturationподключается к входу Fraction узла Desaturation.Изменение значения от 0 до 1 демонстрирует работу общего управления, которое меняет цвет объектов, использующих этот материал. Значения также можно менять через Blueprint: в документации для этого используются узел
Set Scalar Parameter Valueи Timeline. В Float Track узла Timeline заданы два ключа: значение 0 в момент времени 0 и значение 1 в момент времени 1.
Один материал может ссылаться максимум на две разные Material Parameter Collection. В документации отмечено, что одну коллекцию можно использовать для общих значений, а другую — для значений, относящихся к конкретному уровню. Изменение количества параметров приводит к повторной компиляции материалов, ссылающихся на коллекцию; если требуется много параметров, может оказаться быстрее добавить их заранее на пустой карте. Переименование параметра сохраняет ссылки из материалов, но может нарушить соединение Blueprint, в котором используется это имя.
4. Рассмотрите Pivot Painter для растительности
Pivot Painter — это MAXScript для 3ds Max, который записывает данные о pivot и вращении модели в vertex-данные. Эти данные можно считывать с помощью функций материалов Unreal и использовать для анимации ветвей, листьев или травы в реальном времени. В официальной документации указано, что движение вычисляется в vertex shader; размер модели в памяти на 18 процентов больше, чем у стандартного Static Mesh.
При подготовке модели проверьте положение pivot вращения и ориентацию осей. Например, если лист травы должен вращаться от основания, pivot должен находиться у основания, а ось X — идти вдоль модели. Для моделей с иерархией, например деревьев, следует использовать Hierarchy Painter, а для отдельных элементов травы — Per Object Painter; применять оба инструмента к одной модели не следует. Также нужно выбрать функцию материала, соответствующую обработанным данным: PivotPainter_HierarchyData для Hierarchy Painter и PivotPainter_PerObjectData для Per Object Painter.
В документации указано, что скрипт тестировался в 3ds Max 2010 и 2012. Также требуется установить сантиметры в качестве мировых единиц 3ds Max и не менять масштаб при экспорте. На странице Pivot Painter также говорится, что версия 2.0 предлагает упрощённый рабочий процесс для интерактивной растительности.
Влияние на архитектурный процесс и визуализацию
Если в интерьере или архитектурной сцене множество поверхностей использует одни и те же параметры, Material Function позволяют повторно использовать общую структуру графа, а Material Parameter Collection — совместно менять значения для всей сцены или конкретного уровня. Когда одинаковый визуальный контроль нужен нескольким материалам, можно использовать общие параметры вместо того, чтобы редактировать каждый материал отдельно. В документации отмечается, что такой подход эффективнее, чем задавать значения разным экземплярам материалов по отдельности.
В презентациях в реальном времени с растительностью Pivot Painter можно рассматривать как вариант, при котором движение вычисляется во время выполнения, а не хранится в виде скелетной анимации. Тем не менее командам следует заранее проверить совместимость: документация относится к Unreal Engine 4.27, а для скрипта Pivot Painter указаны тесты в 3ds Max 2010 и 2012. Перед сдачей также необходимо проверить масштаб модели, расположение pivot, выбор иерархии и имена параметров Blueprint.
Частые ошибки
Одновременное использование Hierarchy Painter и Per Object Painter на одной модели.
Изменение единиц измерения на сантиметры в 3ds Max или масштаба при экспорте.
Переименование параметра Material Parameter Collection без обновления связи Parameter Name в Blueprint.
Игнорирование того, что редактирование используемой Material Function может повлиять на связанные с ней материалы.
Неучёт того, что добавление большого количества параметров потребует повторной компиляции связанных материалов.
Источники
Источников: 3Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Для архитектурных и визуализационных команд в Турции практическая ценность этих инструментов заключается в централизованном управлении общими настройками материалов и повторном использовании графов. В проектах реального времени с большим количеством поверхностей и повторяющейся растительностью упорядоченная настройка может сэкономить время, однако результат зависит от грамотного планирования параметров.
На начальном этапе важнее всего проверить совместимость и подготовку ресурсов, а не оборудование: в документации указана Unreal Engine 4.27, а для Pivot Painter — тестирование в 3ds Max 2010 и 2012. Если включить масштаб, pivot, ссылки Blueprint и изменения общих функций в контрольный список команды, можно снизить риск ошибок материалов и повторной работы.
Частые вопросы
Для чего нужна Unreal Engine Material Parameter Collection?
Она объединяет скалярные и векторные параметры, на которые могут ссылаться несколько материалов. Значениями можно управлять централизованно, вместо того чтобы менять их отдельно в экземплярах материалов.
Сколько Material Parameter Collection может использовать один материал?
Согласно документации Unreal Engine 4.27, один материал может ссылаться максимум на две разные коллекции. Каждая коллекция может содержать не более 1024 скалярных и 1024 векторных параметров.
В каких версиях 3ds Max тестировался Pivot Painter?
В официальной документации Pivot Painter указано, что скрипт тестировался в 3ds Max 2010 и 2012. Также требуется использовать сантиметры в качестве мировых единиц и сохранять масштаб при экспорте.



