Розробка AR-ігрової механіки в мобільному додатку

Уявіть: ви запускаєте AR-гру, вороги спавняться на реальному столі, але через дві секунди ARKit втрачає трекінг — об'єкти «пливуть», фізика перестає працювати, і гравець у люті. Ми стикалися з цим десятки разів протягом 5 років, реалізувавши понад 30 AR-проектів. Розробка стабільної AR-механіки потр

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Розробка AR-ігрової механіки в мобільному додатку
Складний
~1-2 тижні

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

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

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

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Уявіть: ви запускаєте AR-гру, вороги спавняться на реальному столі, але через дві секунди ARKit втрачає трекінг — об'єкти «пливуть», фізика перестає працювати, і гравець у люті. Ми стикалися з цим десятки разів протягом 5 років, реалізувавши понад 30 AR-проектів. Розробка стабільної AR-механіки потребує врахування багатьох нюансів: від фізики RealityKit до оптимізації під пристрої з 3 ГБ RAM. Наша команда гарантує стабільні 60 FPS навіть на iPhone 11. Типові проблеми: втрата трекінгу, нестабільна фізика при зміні освітлення, аномалії жестового керування та складності з pathfinding по AR-поверхнях. Окупність такого рішення — менше 6 місяців. Зв'яжіться з нами, щоб обговорити ваше завдання та отримати консультацію.

Як вибрати інструмент фізики для AR?

RealityKit — перший вибір для нових проектів. PhysicsBodyComponent + CollisionComponent дають нативну фізику через ARKit's scene understanding:

var physicsBody = PhysicsBodyComponent(massProperties: .default, material: nil, mode: .dynamic) physicsBody.isAffectedByGravity = true entity.components[PhysicsBodyComponent.self] = physicsBody var collision = CollisionComponent(shapes: [.generateBox(size: entity.visualBounds(relativeTo: nil).extents)]) entity.components[CollisionComponent.self] = collision 

З увімкненим arView.environment.sceneUnderstanding.options = [.physics] AR-об'єкти коректно взаємодіють з реальними поверхнями. М'яч котиться по реальному столу, коробка стоїть на реальній полиці.

Проблема RealityKit — обмежений контроль. Немає доступу до окремих кроків фізичного двигуна, немає кастомних force generators. Для простих механік — достатньо. Для складної ігрової фізики (ragdoll, fluid simulation, rope physics) — потрібен SceneKit з PhysicsWorld або Unity з AR Foundation.

Інструмент Простота Контроль Продуктивність
RealityKit ★★★★ ★★ ★★★★
SceneKit ★★★ ★★★ ★★★
Unity AR Foundation ★★ ★★★★★ ★★★★★

RealityKit Physics

Керування в AR: жести проти прицілювання

Tap для розміщення, pinch для масштабу, rotation — стандарт. Але в AR жести конкурують з рухом камери. Користувач хоче повернути об'єкт — ARKit інтерпретує як трекінг руки.

Рішення через UIGestureRecognizer з shouldRequireFailure(of:): tap розпізнається тільки якщо swipe не почався. Для rotation — UIPanGestureRecognizer з мінімальним зміщенням у 20 поінтів перед активацією, щоб випадковий рух камери не тригерив обертання.

Окрема механіка — «прицілювання» через центр екрана замість тапу. У шутерах та стратегіях зручніше: raycast із arView.center кожен кадр, об'єкт під прицілом підсвічується, дія — по кнопці. Реалізується через ARView.raycast(from:allowing:alignment:) у CADisplayLink callback.

Як обробляти втрату трекінгу?

Втрата трекінгу під час геймплею. ARKit переходить у .limited tracking state — об'єкти «пливуть». Для AR-ігор це катастрофа: ворог телепортується на 30 см, м'яч проходить крізь стіну. Стратегія: при .limited «заморожуємо» фізику, показуємо overlay «Наведіть камеру на поверхню», відновлюємо після .normal. Не перериваємо ігровий цикл — тільки паузуємо фізику (встановлюємо arView.scene.paused = true або scene.physicsWorld.speed = 0). Зберігаємо швидкості тіл для реалістичного відновлення.

AR-об'єкти за межами видимості. Гравець повертається, AR-ворог за спиною продовжує рухатися та атакувати. Потрібна frustum culling не для рендерингу (ARKit робить це сам), а для ігрової логіки: AI ворогів поза viewport може працювати спрощено або паузуватися.

Spawning на нерівних поверхнях. Raycast повертає нормаль поверхні через ARRaycastResult.worldTransform — четвертий стовпець матриці дає точку, X/Y/Z — орієнтацію. Якщо поверхня нахилена під 30°, спавнений об'єкт нахиляється разом з нею. Для ігор з «плоскими» об'єктами (жетони, фішки) фіксуємо вертикаль: беремо тільки Y з нормалі, будуємо transform з up = (0,1,0).

Як оптимізувати продуктивність AR-гри?

Оптимізація критична для старих пристроїв. Використовуємо LOD для віддалених об'єктів: спрощені меші, вимикаємо тіні за межами 0.5 метра. Зменшуємо частоту оновлення pathfinding-графа з 60 до 20 разів на секунду та кешуємо результати. На iPhone 11 це дозволило підняти FPS з 45 до 60 при 6+ юнітах — приріст 33%. Для пристроїв із 3 ГБ RAM додатково знижуємо роздільну здатність тіней на 50%.

Технічні деталі LOD Для iOS використовуємо `ModelIO` для генерації LOD-мешів. Для кожного об'єкта створюємо 3 рівні деталізації: високий (0-0.5 м), середній (0.5-1.5 м), низький (>1.5 м). Перемикання за відстанню від камери. На `ARView` вішаємо скрипт, який оновлює LOD у `update` циклі.

Кейс із нашої практики

Мобільна AR-стратегія: башти, вороги, реальний стіл як карта. Наш клієнт хотів 6 типів юнітів, pathfinding по меш-поверхні. Головна проблема: ARMeshAnchor оновлюється асинхронно — поки меш перебудовується, pathfinding-граф застаріває. Наше рішення: граф навігації оновлювався кожні 3 секунди на background thread через GCD, а юніти використовували закешований граф. Юніт у процесі руху перевіряв колізію з поточним мешем через raycast — так ловили ситуації «меш змінився, юніт йде крізь стіну». Це скоротило час розробки на 40%.

FPS тримався на 60 на iPhone 13. На iPhone 11 падав до 45 при 6+ юнітах. Рішення: LOD для віддалених юнітів (спрощені меші), вимкнення тіней за межами 0.5 метра. У результаті стабільні 60 FPS на обох пристроях.

Покроковий процес розробки AR-механіки

  1. Аналітика та прототипування: Визначаємо ключові механіки, тестуємо на реальному пристрої.
  2. Проектування архітектури: Вибір стеку (RealityKit/SceneKit/Unity), проектування фізики та AI.
  3. Реалізація: Створення механік, інтеграція жестів, робота з трекінгом.
  4. Оптимізація: LOD, кешування, профілювання FPS.
  5. Тестування: Перевірка на різних пристроях, у різних умовах освітлення.
  6. Деплой: Публікація в App Store/Google Play.

Замовте розробку AR-ігрової механіки під ключ — отримайте безкоштовну консультацію щодо вашого проекту.

Що входить у роботу

  • Фізика AR-об'єктів із взаємодією з реальними поверхнями (RealityKit / SceneKit)
  • Система керування: жести, прицілювання, UI-кнопки
  • Ігровий цикл з обробкою втрати ARKit трекінгу
  • AI та pathfinding по AR-поверхнях
  • LOD-оптимізація для підтримки пристроїв від iPhone 11
  • Тестування в умовах реального освітлення
  • Гарантія результату та безкоштовна підтримка протягом місяця після здачі

Терміни

Механіка Терміни
Прості AR-міні-ігри (tap, shoot) 2–4 тижні
Стратегія / tower defense з AI 8–14 тижнів
Повноцінний AR-шутер з мережевою грою 16–24 тижні

Вартість розраховується після детального обговорення механік. Отримайте консультацію — зв'яжіться з нами для оцінки.