Створення візуальних ефектів (VFX) частинок для VR графіки

У VR-проєкті ефект вогню з 200 billboard-частинок дає overdraw 12x — замість одного пікселя малюється 12 шарів. Фреймбіт падає з 120 до 45 FPS на Quest 3. Наше завдання — знизити overdraw до 2x без втрати візуалу. За 7 років ми оптимізували VFX для 30+ VR-проєктів: від симуляторів до ігор. Згідно з

Наші компетенції

Інші послуги студії

VR/AR/MR застосунки на замовлення

Вражайте клієнтів і навчайте команду у віртуальній реальності

Розробка ігор на Unity

Від ідеї до релізу — ігри, які запам'ятовуються

3D-моделювання та анімація

Оживимо ваш продукт в об'ємній графіці та анімації

VR-тренажери промислового обладнання

Тренуємо операторів на техніці без ризику і простою

AR-інструкції для виробництва

Покрокові підказки прямо на обладнанні — без паперу

Safety-тренажери

Відпрацювання НС і техніки безпеки без виходу на об'єкт

VR/AR-тренінги

Навчаємо персонал сервісу, адаптації та soft skills у VR

Навчальні вікторини

Перевірка знань у форматі гри — легко і без стресу

Корпоративні відеоінструкції

Зрозумілі ролики для навчання співробітників і клієнтів

Гейміфікація бізнес-процесів

Мотивуємо команду через ігрові механіки в KPI та HR

Застосунки для інфокіосків

Інтерактивні екрани для магазинів, стендів і офісів

VR/AR-інсталяції

Wow-ефект для брендів на виставках, івентах і в шоу-румах

Віртуальні виставки та музеї

Ваша експозиція доступна з будь-якої точки світу — 24/7

Event-квести та брендовані ігри

Незабутні ігри для конференцій та клієнтських івентів

Часті запитання

Останні роботи

  • image_games_mortal_motors_495_0.webp
    Розробка гри для компанії Mortal Motors
    1504
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    1006
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    635
  • image_games_phoenix_ii_606_0.webp
    3D-анімація – тизер для гри phoenix 2.
    716
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Навчальна вікторина для дітей «Покупки в магазині»
    95

У VR-проєкті ефект вогню з 200 billboard-частинок дає overdraw 12x — замість одного пікселя малюється 12 шарів. Фреймбіт падає з 120 до 45 FPS на Quest 3. Наше завдання — знизити overdraw до 2x без втрати візуалу. За 7 років ми оптимізували VFX для 30+ VR-проєктів: від симуляторів до ігор. Згідно з документацією Unity з профілювання, overdraw залишається головною причиною падіння FPS у VR.

Чому стандартні VFX не підходять для VR?

Particle System з режимом Render Mode = Billboard і напівпрозорим матеріалом — класичне джерело overdraw. Кожна частинка перекривається з іншими кілька разів. 200 частинок з 50% перекриттям — це фактично 300+ піксельних операцій на кожен покритий піксель. У RenderDoc в режимі Overdraw Heatmap система частинок вогню з трьома шарами (основне полум'я, дим, ембри) легко показує 8–12x overdraw у центрі. При бюджеті 8.3 мс на фрейм (120 Hz Quest) це неприйнятно.

Рішення: зменшувати кількість частинок і збільшувати розмір кожної. Менше об'єктів з великими текстурними атласами замість безлічі дрібних частинок. Атлас 4×4 з різними формами диму — одна частинка «смикається» по атласу, імітуючи анімацію, замість 16 окремих частинок.

Другий підхід — використовувати VFX Graph замість Particle System. VFX Graph працює на GPU (Compute Shader), і його частинки не створюють CPU-overhead. Для складних ефектів із тисячами частинок VFX Graph на Quest 3 працює помітно швидше. Але вимагає URP та Unity 2022+ з підтримкою Compute на Android — не всі пристрої підтримують.

Як VFX Graph вирішує проблему продуктивності?

VFX Graph — Visual Effect Graph у Unity — принципово інший підхід. Граф будується нодами: Spawn → Initialize → Update → Output. Логіка руху частинок, зіткнень, прив'язки до поверхонь — все на GPU через Compute Shader.

Для VR ключові можливості: GPU Events — частинки породжують інші частинки при зіткненні (іскра від удару → кілька вторинних іскор), все на GPU без CPU roundtrip. Depth Collision — частинки стикаються з depth buffer сцени без фізичних колайдерів. Для Quest потрібно обережно: depth collision на тайловому GPU Snapdragon може створювати tile flush і втрачати виграш від GPU-симуляції.

Практичний кейс: ефект руйнування скелі. Класичний Particle System: 300 частинок-уламків з Rigidbody, всі з фізикою на CPU — 4.5 мс тільки на Update фізики. VFX Graph з Mesh Particles та GPU Flipbook анімацією: ті ж 300 уламків — 0.4 мс CPU, 1.2 мс GPU. Разом у 2.5 рази швидше для складного ефекту.

Чому mesh частинки кращі за billboard у ближніх ефектах?

Білборди у VR — відома проблема. Частинка-billboard завжди повернута перпендикулярно до вектора погляд-камера. У монорежимі це працює. У стерео ліве і праве очі дивляться під різними кутами — billboard одночасно коректно орієнтований тільки для одного з них. Різниця невелика (~6 см міжзорячна відстань), але для ближніх ефектів (бризки води, іскри поруч із руками) це дає помітне «плоске» відчуття.

Для ближніх VFX кращі Mesh Particles: тривимірні геометрії замість плоских спрайтів. Іскра — маленький витягнутий октаедр. Крапля води — деформована сфера. Летючий уламок — довільний меш з LOD. Mesh Particles дорожчі за кількістю вертексів, але прибирають стерео-розрив і виглядають значно переконливіше у VR.

Компроміс: дальні та дрібні частинки — billboard, ближні великі — mesh. LOD Group на рівні Particle System задається через Level of Detail Bias в Quality Settings — ближні екземпляри переходять на mesh renderer.

Техніка CPU навантаження GPU навантаження Overdraw Рекомендація для VR
Billboard Particle System Високе Середнє 8-12x Тільки дальні ефекти
Mesh Particles (VFX Graph) Низьке Високе ~2x Ближні ефекти, іскри
VFX Graph з атласом Низьке Середнє 4-6x Вогонь, дим, складні системи

Як знизити overdraw у VFX для VR: 3 кроки

  1. Замініть billboard-частинки на mesh-частинки для ефектів ближче 50 см від камери.
  2. Використовуйте VFX Graph з GPU Events для систем, де частинки породжують вторинні ефекти.
  3. Налаштуйте LOD і текстурний атлас: одна частинка з анімацією по атласу замінює кілька окремих.

Комфорт: чого не робити з VFX поруч із обличчям

Стробоскопічні ефекти — миготливі спалахи, швидко чергувані яскраві кольори — у VR особливо небезпечні для користувачів із фоточутливою епілепсією. Meta Quest Store вимагає відповідність гайдлайнам по частоті мигання (не більше 3 Hz для повноекранних спалахів). Обмеження вбудовуються на рівні Particle System через Max Particle Lifetime та Emission Rate — немає сенсу створювати ефект, який порушує ці правила.

Ефекти, що закривають весь огляд (вибух прямо перед обличчям, екран повністю заповнюється частинками) викликають дискомфорт. Правило: якщо частинки можуть опинитися ближче 50 см від HMD-камери, додаємо Min Particle Distance або фейд-аут по дистанції через Size over Lifetime curve, прив'язану до Distance to Camera.

Технічні вимоги до VFX для VR-платформ

Платформа Бюджет на фрейм Рендер пайплайн Особливості
Meta Quest 2/3 8,3 мс URP Макс. текстура 256x256, VFX Graph з GPU
PSVR2 11 мс HDRP Eye-tracking фовеатний рендеринг
PC VR (SteamVR) 16 мс HDRP або URP DirectX 12, кастомні шейдери

Що входить в нашу роботу по VFX

  • Аналіз вимог: вивчення референсів, гейм-дизайн документа, цільова платформа.
  • Прототипування: 2-3 варіанти реалізації з вимірами продуктивності.
  • Розробка: створення систем частинок, шейдерів, налаштування LOD та відсікання.
  • Оптимізація: профілювання в RenderDoc, симуляція навантажень, правки під бюджет.
  • Інтеграція: вбудовування в проєкт, налаштування параметрів під геймплей.
  • Документація: опис налаштувань, рекомендації щодо використання.
  • Підтримка: гарантійна доробка протягом 2 місяців після здачі.

Орієнтовні терміни

Тип VFX Орієнтовні терміни
3–5 простих ефектів (Particle System, атлас) 3–7 днів
Комплект VFX для гри (10–20 ефектів) 2–5 тижнів
VFX Graph система з кастомною логікою 3–8 тижнів

Вартість розраховується після аналізу вимог та цільової платформи. Щоб оцінити ваш проєкт, зв'яжіться з нами — ми підберемо ефективне рішення під ключ. Замовте розробку VFX з гарантією продуктивності.