Задание №5: Создаем материал для всего
Дедлайн 30.10.2025 в 20:59
Задания с урока
Задание 1
Создать материал, добавить на ключевые параметры по скаляру или вектору (3).
Добавить комментарии «C».
Добавить текстуру, подсоединить её в BaseColor и добавить Normal Map и Metallic.
Задание 2
Создать Material Instance
Преобразовать ноды в параметры и указать им группу
Посмотреть, как это работает, добавив в сцену
Создать пол с кровью («Lerp» — нода смешивания) («Noize» — текстура для этого) (не забудьте про ноды «1-», «Multiply», «Clamp»)
Сделайте так, чтобы степень загрязнения регулировалась параметром.
Задание 3
Добавьте в ваш материал настройки тайлинга (нода Texture Coordinate).
Сделайте 2 параметра, отдельно ось U и V.
Создайте Material Function и сделайте загрязнение материала кровью из прошлого задания в этой функции.
Замените этот момент функцией в материале.
Создайте Material Parameter Collection.
Исправьте созданную функцию добавления крови так, чтобы значение степени загрязнения крови бралось из Parameter Collection.
Домашнее задание
Цель: Научиться создавать гибкие, настраиваемые материалы с помощью параметров и инстансов, а также добавить интерактивности с помощью глобальных параметров.
Примерные затраты на выполнение: 40 – 60 минут.
Задача:
Создать один "мастер-материал" для земли/пола, который можно будет гибко настраивать. Затем, с помощью инстансов, создать несколько его вариаций и применить их в вашей сцене.
Шаги выполнения:
Подготовка (5 минут):
Откройте вашу сцену из предыдущих ДЗ.
В Quixel Bridge или Fab найдите и добавьте в проект две разные текстурные сетки для земли, которые можно смешать. Например: Ground (земля) и Moss (мох) или Asphalt (асфальт) и Puddles (лужи). Если не нашли нужного можете использовать ассеты из Starter Content.
Создание мастер-материала (20 минут):
Создайте новый базовый материал MM_Ground. Это материал-формула он сам никак не отображается а лишь используется для интсансов, как асбтрактный класс.
Внутри него создайте логику, которая смешивает две текстуры по маске:
Добавьте два набора текстур (Base Color, Normal, Roughness) для ваших двух поверхностей (например, земля и мох).
С помощью ноды Lerp (Linear Interpolate) смешайте соответствующие карты. Например, BaseColor_Земли в A, BaseColor_Мха в B.
Для управления смешиванием (вход Alpha у Lerp) используйте простую шумовую текстуру (например, T_Cloud_Noise из Starter Content) или один из каналов (R, G или B) текстуры Ambient Occlusion.
Превратите всё в параметры:
Текстуры: ПКМ на каждой ноде Texture Sample -> Convert to Parameter.
Тайлинг: Добавьте ноду TextureCoordinate, умножьте её на ScalarParameter(просто скалярное число одиночное) с именем Tiling и подключите результат в UVs всех текстур.
Цвет: Умножьте итоговый Base Color на VectorParameter с именем ColorTint (цвет по умолчанию — белый).
Шероховатость: Добавьте ScalarParameter с именем RoughnessMultiplier и умножьте на него итоговую карту Roughness.
Создание и применение инстансов (10 минут):
На основе M_Ground_Master создайте два Material Instance:
MI_Ground_Dry (Сухая земля)
MI_Ground_Mossy (Земля, поросшая мхом)
Откройте каждый инстанс и настройте его параметры, чтобы получить уникальный вид. Например, в MI_Ground_Mossy можно увеличить Tiling мха или изменить его ColorTint на более яркий.
Примените эти инстансы к разным мешам и наслаждайтесь собой. В следующем дз вам может понадобиться этот материал для разукрашивания ландшафта.
Глобальный параметр: Эффект "дождя" (5-10 минут):
Создайте Material Parameter Collection с именем MPC_Global.
Внутри него создайте один ScalarParameter с именем GlobalWetness (значение по умолчанию 0).
Вернитесь в master material MM_Ground. Добавьте ноду CollectionParameter, выберите в ней MPC_Global и параметр GlobalWetness.
Используя Lerp, смешайте вашу итоговую Roughness с константой 0.1 (очень гладкая, мокрая поверхность) на основе GlobalWetness. Таким образом, когда GlobalWetness=0, шероховатость обычная, а когда GlobalWetness=1, поверхность становится мокрой.
Проверка: Откройте ассет MPC_Global и вручную измените значение GlobalWetness с 0 на 1. Вы должны увидеть, как все поверхности, использующие ваш материал, мгновенно становятся "мокрыми".
Что нужно сдать:
3 скриншота:
Скриншот графа вашего мастер-материала M_Ground_Master.
Скриншот вашей сцены, где применены два разных инстанса материала.
Скриншот той же сцены, но с измененным параметром GlobalWetness в коллекции (чтобы показать "мокрый" эффект).
Ключевые навыки для проверки:
Умение создавать параметризированный материал.
Практическое использование Material Instance для создания вариаций.
Понимание, как Lerp используется для смешивания.
Базовое применение Material Parameter Collection для создания глобального эффекта.