Я очень благодарен, что Epic Games отдали бесплатно ассеты в народ с Paragon после закрытия проекта. Я регулярно подглядываю там решения. Если вы до сих пор туда не заглядывали - очень советую.
Сегодня хотел бы рассказать о SplineThicken, который они использовали достаточно часто на проекте.
SplineThicken — это material function из категории WorldPositionOffset. Идея простая: вместо того чтобы моделить полноценную трубу/цилиндр с кучей сегментов, вы берёте почти плоскую полоску геометрии (тонкий "лист" вдоль сплайна) и в вершинном шейдере через World Position Offset смещаете вершины так, будто это круглый объект — с учётом положения камеры.
Результат — объект визуально читается как объёмная труба, шерстинка или лента, хотя реальной геометрии там в разы меньше.
Где можно применить: кабели и провода, трава и листва, шерсть/мех, VFX-ленты и щупальца,тонкие ветки.
Как это работает Функция дополнительно поворачивает "раскрытие" полосы в сторону камеры и параллаксит текстуру, имитируя выпуклость поверхности, а не просто плоскую полоску. Отсюда и параметры для параллакс-коррекции текстуры:
UVs for Thickness — отдельный UV-канал для градиента толщины (tip-to-base), то есть куда полоска сужается/расширяется UVs for Texturing — UV для собственно текстуры объекта; тут же задаётся масштаб для параллакс-коррекции На деле на эффектах чаще всего хватает одной UV и всё работает хорошо
DeriveNormalZ — булевый флаг: считать ли Z-компоненту нормали через DeriveNormalZ для более корректного освещения

Подготовка геометрии Меш должен быть тонкой полосой/лентой. Частота вдоль пути важнее, чем ширина полосы — как и с честным sweep, редкие сегменты дадут заметную огранку на изгибах. Держите UV аккуратно размеченным: один канал под толщину/градиент, другой — под текстурирование, иначе параллакс-коррекция потечёт криво.
Частые проблемы: Кривые нормали и битое освещение. Первое, что стоит проверить — галочка Tangent Space Normal в настройках материала. Если её не выключить, нормали после WPO-смещения считаются неверно и свет "ломается" при повороте камеры. Артефакты на резких изгибах и острых ракурсах. Техника даёт швы и интерполяционные "скачки" при малом радиусе кривизны сплайна и экстремальных углах обзора. Для важных крупных планов лучше использовать реальную геометрию — SplineThicken лучше всего работает на плавных, широких кривых и на фоновых/среднеплановых объектах. Если объект собран из сегментов сплайна (например, цепь из отдельных звеньев), не ждите бесшовности при облёте камерой — стыки будут видны на некоторых углах.
**Где можно найти примеры:
Paragon: Agora and Monolith Environment**
…/Content/ParagonProps/FX/Particles/Turret/P_SentryTurret_Beam_CharacterImpact
…/Content/ParagonProps/FX/Materials/Splines/M_SplineThickenSmoke_Trails_Master_Tower