Як Tech-5 реалізували динамічні сліди в Corsairs Legacy за допомогою HDRP VFX Graph

Невеликі взаємодії з оточенням часто мають напрочуд великий вплив на занурення в гру. Однією з таких деталей у Corsairs Legacy є динамічні сліди, які залишає персонаж гравця під час руху по поверхні.
На перший погляд сліди можуть здаватися простим візуальним ефектом.
Насправді ж їх ефективна реалізація у великій RPG з відкритим світом вимагала вирішення низки проблем, пов’язаних із рендерингом та продуктивністю.
Мета
Мета була доволі простою:
- створити правдоподібні динамічні сліди
- зробити так, щоб вони напряму реагували на рух персонажа
- органічно інтегрувати їх у матеріали поверхні
- і уникнути дорогих CPU-based decal-систем
Водночас рішення мало залишатися масштабованим для великих відкритих локацій і забезпечувати стабільну продуктивність.
Чому ми обмежили систему лише гравцем
Одразу виникає очевидне питання:
Чому не ввімкнути сліди для всіх NPC?
Відповідь — продуктивність. Великі міста та острови в Corsairs Legacy можуть одночасно містити десятки або навіть сотні активних NPC.
Якби кожен персонаж постійно генерував:
- decals
- spawn events
- взаємодії з поверхнею
- та GPU-оновлення
обсяг візуальних даних і синхронізації зростав би надзвичайно швидко.
Тому команда сфокусувала систему лише на персонажі гравця - там, де ефект має найбільший візуальний вплив і водночас залишається обчислювально виправданим.
Це один із тих випадків, коли вибірковий реалізм дає набагато краще співвідношення між продуктивністю та якістю картинки.
Побудова системи слідів
Реалізація поєднувала кілька інструментів і пайплайнів:
- Blender
- Substance Designer
- Unity HDRP
- HDRP VFX Graph
- GPU particle workflows
- Decal rendering
Процес почався у Blender, де базовий mesh сліду створювався на основі форми чобота персонажа.
Із цієї геометрії була запечена height map.

Потім запечені дані були оброблені у Substance Designer для генерації:
- Base Color текстур
- Normal Maps
- Ambient Occlusion мап
- та додаткових деталей поверхні

Це дозволило слідам природно змішуватися з освітленням і матеріалами поверхні замість того, щоб виглядати як плоскі накладки.
GPU-based сліди через VFX Graph
Ядро системи використовує:
HDRP VFX Graph разом із Lit Decal Output.

Замість створення класичних CPU-based decals сліди генеруються як GPU-частинки.
Це надзвичайно важливо для продуктивності.
GPU-частинки всередині VFX Graph:
- не існують як окремі CPU gameplay-об’єкти
- уникають дорогого навантаження на керування сценою
- і значно краще масштабуються під навантаженням
На практиці це означає, що система може генерувати велику кількість слідів без тих CPU bottleneck’ів, які виникають у класичних decal-підходах.
Spawn events, прив’язані до анімацій
Ще одна важлива деталь — точність таймінгу. Сліди не створюються безперервно під час руху.
Натомість система використовує animation events безпосередньо всередині анімацій бігу.
Коли нога торкається землі:
- анімація викликає event
- скрипт зчитує точні world-space координати ноги
- і передає spawn event безпосередньо у систему VFX Graph
Це забезпечує:
- правильну синхронізацію
- правдоподібне розташування
- і природну відстань між слідами на основі реального циклу анімації
У результаті ефект виглядає значно природніше, ніж просте створення слідів на основі швидкості руху.
Чому дрібні деталі важливі
Сліди — це відносно непомітний ефект.
Багато гравців можуть навіть не звернути на них увагу свідомо.
Але саме такі взаємодії з оточенням суттєво покращують:
- відчуття руху
- читабельність поверхонь
- фізичне відчуття середовища
- і загальне занурення
У поєднанні з terrain microdetails, освітленням, погодою та анімаційними системами вони допомагають зробити світ Corsairs Legacy більш фізично цілісним і правдоподібним.
І оскільки система працює на GPU та використовується вибірково лише там, де це дійсно важливо, вона дозволяє досягти цього без значного впливу на продуктивність навіть у великих відкритих світах.

















