В 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 шага
- Замените billboard-частицы на mesh-частицы для эффектов ближе 50 см от камеры.
- Используйте VFX Graph с GPU Events для систем, где частицы порождают вторичные эффекты.
- Настройте 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 с гарантией производительности.






