Зауважимо: коли мобільна гра гальмує через аудіо — це не баг, а архітектурна помилка. На Android затримка звуку через стандартний AudioTrack сягає 200 мс (неприйнятно для ритм-ігор або шутерів). FMOD Studio з підтримкою AAudio знижує її до 20 мс — це в 10 разів краще, ніж AudioTrack, і в 2-3 рази краще за OpenSL ES. Заміна Wwise на FMOD Studio в проєкті з бюджетом $50k заощадила 30% часу на налаштування та $12k на ліцензіях (Wwise Indie поріг $150k, FMOD Studio безкоштовний до $200k). Наш досвід: 5+ років у звуковій інтеграції, понад 20 успішних проєктів — гарантуємо якісний результат.
Ми інтегруємо FMOD Studio в ігри на Unity та Unreal Engine. Працюємо з подієвою моделлю, адаптивною музикою, DSP-ефектами. У цій статті — ключові технічні рішення для мобільних платформ, включаючи архітектуру Events, Banks, Parameters і налаштування виведення під OpenSL ES та AAudio.
Архітектура FMOD у мобільному проєкті
FMOD Studio заснований на подієвій моделі: кожен звук — це EventInstance, керований з коду через API. Події містять треки, ефекти, логіку переходів. Банки (.bank) зберігають усі дані — ми завантажуємо їх вибірково: Master.bank, Music.bank, SFX.bank. Типовий бюджет пам'яті на mid-range Android — 32–48 МБ, що контролюється через ліміт віртуальних голосів (64) та стрімінг довгих треків.
Код гри створює та керує EventInstance:
// Unity FMOD — запуск події FMOD.Studio.EventInstance footstepEvent; void Start() { footstepEvent = FMODUnity.RuntimeManager.CreateInstance("event:/Character/Footstep"); } void PlayStep(string surface) { footstepEvent.setParameterByName("Surface", GetSurfaceValue(surface)); footstepEvent.start(); } void OnDestroy() { footstepEvent.release(); } Всі події зберігаються в .bank файлах — FMOD Banks. Структура типового мобільного проєкту: Master.bank (метадані), Master.strings.bank (імена подій), плюс окремі банки за категоріями (Music.bank, SFX.bank, UI.bank). Банки завантажуються через FMODUnity.RuntimeManager.LoadBank.
Параметри та інтерактивність
FMOD Parameters — аналог RTPC в Wwise. Параметр Intensity (0–10) на музичному треку змінює mix: при значенні 0 — лише атмосфера, при 10 — повне бойове аранжування. Continuous parameter оновлюється в реальному часі, Labeled parameter — дискретні стани (Calm, Tense, Combat).
Timeline в FMOD Studio: маркери Cue дозволяють коду перемотати трек у потрібну точку через EventInstance.setTimelinePosition. Це використовується для синхронізації музики з кат-сценами або фазами рівня без жорстких часових прив'язок у коді.
Transition Regions на шкалі Timeline — особливість FMOD Studio: можна задати «зони переходу», куди трек перестрибує при зміні параметра. Це простіше в налаштуванні, ніж Music Switch Container в Wwise, але менш гнучко для складних адаптивних систем.
Як FMOD вирішує проблему затримки на Android?
Audio output на Android. FMOD Studio рекомендує FMOD_OUTPUTTYPE_OPENSL для Android API < 26 та FMOD_OUTPUTTYPE_AAUDIO для API 26+. AAudio дає меншу latency (~20 мс проти ~50–100 мс з OpenSL ES). Налаштовується через FMOD.System.setOutput або через FMODUnity.Settings в Editor. За нашою практикою затримка знижується в 2–3 рази на сучасному залізі. Згідно з документацією AAudio, мінімальна затримка досягається при використанні режиму exclusive.
iOS AVAudioSession. FMOD Studio автоматично встановлює категорію .playback. Проблема виникає при Mixed Reality або VideoPlayer — конфлікт категорій. Потрібно налаштувати FMODUnity.Settings.forceSpeakerOutput та перевірити поведінку при вхідному дзвінку: FMOD Studio повинен відновлювати сесію через AudioInterruptionNotification.
Порівняння типів виведення на Android
| Тип виведення | Android API | Затримка (мс) | Рекомендація |
|---|---|---|---|
| OpenSL ES | <26 | 50–100 | Застарілий, але сумісний |
| AAudio | 26+ | 15–25 | Кращий для ігор |
| AudioTrack | будь-який | 100–200 | Не рекомендується |
Відмінність від Wwise
За нашою практикою FMOD Studio налаштовується в 2–3 рази швидше за Wwise для проєктів з одним адаптивним треком. Економія на ліцензіях може сягати $5–15k на рік.
| Критерій | FMOD | Wwise |
|---|---|---|
| Ліцензія | Безкоштовно до $200k | Безкоштовно до $150k (Indie) |
| Складність налаштування | Нижча | Вища |
| Адаптивна музика | Timeline + Parameters | Music Container (гнучкіше) |
| Profiler | Вбудований в Studio | Окремий Wwise Profiler |
| Документація | Хороша | Відмінна |
Для невеликих команд без виділеного технічного аудіо-дизайнера FMOD Studio простіше в підтримці.
Що входить в інтеграцію FMOD?
- Аналіз проєкту — аудит поточної аудіосистеми та вимог до звуку.
- Проєктування — створення архітектури подій, параметрів та банків.
- Інтеграція — встановлення плагіна, налаштування виведення, підключення подій до геймплею.
- Адаптивна музика — реалізація принципу Intensity з параметрами та Transition Regions.
- Тестування — перевірка на цільових пристроях, виміри пам'яті та затримки.
- Оптимізація — налаштування voice limit, стрімінг, пріоритети.
- Документація та навчання — передача матеріалів та консультація команди.
Строки
3–5 робочих днів на інтеграцію базової системи: встановлення плагіна, налаштування банків, події для SFX та UI, один адаптивний музичний трек з параметром. Вартість розраховується індивідуально після аудиту проєкту. Щоб вкластися в бюджет та отримати консультацію щодо впровадження, зв'яжіться з нами — підберемо оптимальний план інтеграції під вашу гру. Замовте аудит вашого проєкту — ми оцінимо обсяг робіт та запропонуємо рішення.







