Sparks and tricks: post #79 — TG.ME

Потихоньку разбираю всё, что накопилось за время работы с UE.

Пока не до конца понимаю, по какому принципу лучше мержить эффекты и хранить шейдеры и функции.
Сейчас склоняюсь к варианту — по стилю, а функции всё в одну кучу.
Если у кого есть свои подходы/идеи — буду рад услышать.

Некоторые мысли из процесса:

— Когда делаете мат функции, думайте наперёд, как вы будете использовать MF и будут ли ими пользоваться другие
🌟 (если на проекте вы не единственный VFX Art, то точно будут).

Пишите комментарии, чтобы через неделю / месяц / год открыв MF можно было быстро понять, что происходит, а не тратить на это полдня.

Не прячьте внутрь MF текстуры и параметры, если вы всё равно будете настраивать их на уровне материала выше. Рискуете потерять контроль над количеством входящей даты. Исключением являются самодостаточные блоки в убершейдерах, наверное.

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

upd от Rewind:
По своему опыту работы с MF
— Функция должна делать определенное действие, которое часто применяется. Не нужно туда просто прятать часть шейдера

— Параметры должны быть "ожидаемыми" зачастую это диапазон 0-1, если там нужно вбить для корректной работы -27 и 100, то скорее никто не разберется

— По умолчанию нода должна сразу демонстрировать результат работы, с подобранными дефолтными параметрами, чтобы не было так что человек подключил ноду, а она не работает и нули на выходе выдает

— Хорошей практикой будет перепаковка и упрощение использования в MF неудобных нод, например нода Smoothstep не удобна в использовании, куда удобнее сделать ей параметры входа градиента и параметр сглаживания и обрезки в диапазоне 0-1.

P.S. На выходных поковырял лужу крови (decal). Она пока что совсем сырая, но кажется, нащупал поведение и как технически она должна работать на двух текстурах:
RGB-маска + нормалка.
1👍8
May 5, 2026 279 2 1