Розробка мобільного AR-додатку для освіти
Освітній AR працює, коли абстрактне стає видимим. Молекула води в руках дитини, дроб у вигляді 3D-піци, кровообіг навколо живого серця на столі. Це не розвага заради розваги — правильно спроектований AR-контент зменшує когнітивне навантаження на абстрактні концепції.
Розробка освітнього AR — це перетин мобільної розробки, навчального дизайну та 3D-продакшену. Кожний з цих шарів впливає на технічні рішення.
Архітектура освітнього AR-додатку
Типова структура: предмети → теми → уроки → AR-активності. Кожна AR-активність привязана до конкретної навчальної мети та містить:
- 3D-об'єкт або сцену
- Скрипт взаємодії (що відбувається при tap, swipe, voice command)
- Оціночний компонент (правильно/неправильно, прогрес)
- Аудіо-супровід (дикторський голос, звукові ефекти)
Стек для iOS: ARKit + RealityKit + AVFoundation (аудіо) + Combine (реактивний стан уроку). Для кросс-платформи: Unity AR Foundation — один кодбейс для iOS та Android, важливо при роботі зі школами з різними пристроями.
Ключові механіки взаємодії
Розбірка та збірка об'єктів
Найефективніша механіка для механіки, хімії, біології. Атом розбирається на протони/нейтрони/електрони. Двигун показує всі частини. Клітина ділиться.
Анімація "вибуху" через FromToByAnimation в RealityKit для кожної частини. Зворотна задача — збірка: користувач перетягує частини на правильні позиції. Виявлення правильного розташування через зони колізії:
// Snap-zone для правильної позиції частини
let snapZone = Entity()
snapZone.components[CollisionComponent.self] = CollisionComponent(
shapes: [.generateSphere(radius: 0.05)],
mode: .trigger
)
// onCollisionBegan — перевіряємо, правильна чи частина потрапила до зони
AR-квест по підручнику
Маркери на сторінках підручника — кожна сторінка оживає. ARImageTrackingConfiguration з maximumNumberOfTrackedImages = 4 (обмеження): відстежуємо лише видимі сторінки.
Проблема: користувач перевертає сторінку — старий маркер зникає, ARKit видаляє anchor. Анімація перериває. Рішення: не прив'язуємо AR-контент жорстко до anchor. При втраті anchor — контент "вилітає" в світовий простір (перехід до ARWorldAnchor), користувач може продовжити взаємодію.
Голосові відповіді
Розпізнавання мови через SFSpeechRecognizer — дитина називає елемент таблиці Менделєєва, AR показує його структуру:
let recognizer = SFSpeechRecognizer(locale: Locale(identifier: "uk-UA"))
let request = SFSpeechAudioBufferRecognitionRequest()
recognitionTask = recognizer?.recognitionTask(with: request) { result, error in
if let text = result?.bestTranscription.formattedString {
handleVoiceCommand(text)
}
}
Працює офлайн через SFSpeechRecognizer.supportsOnDeviceRecognition — важливо для шкіл без стабільного інтернету.
Педагогічні вимоги та їх технічна реалізація
Прогресія складності. Починаємо з простого (2D-анімація, загальний вигляд), ускладнюємо у міру взаємодії. Технічно: state machine уроку з рівнями складності, розблокуваний контент.
Миттєвий зворотний зв'язок. Помилився — миттєва візуальна реакція (об'єкт червоніє, тремтить), не після тесту. PhysicsSimulationComponent в RealityKit для bounce-ефекту при неправильному розташуванні.
Відстеження прогресу. Учитель повинен бачити, хто з учнів пройшов тему. Backend з обліковими записами (Google Sign-In для шкіл через Google Workspace) + Firestore для зберігання прогресу. Спеціальна вчительська панель у вебі (React) або окремий режим у додатку.
Робота без інтернету. Урок у класі — не завжди є Wi-Fi. Контент кешується при першому завантаженні. Прогрес зберігається локально (CoreData / Room), синхронізується при появі мережі.
Вікова адаптація
Для аудиторії 6–10 років: великі touch-targets (мінімум 60×60 поінтів), яскраві кольори, прості жести (лише tap та drag, без pinch та rotation), голосові підказки, мінімум тексту.
Для 11–16 років: складніша механіка допустима, текстові анотації, завдання з кількома кроками.
Для старшої школи / професійної освіти: повний стек взаємодій, технічні терміни, інтеграція з LMS (Moodle, Canvas) через xAPI/SCORM.
Робота в класі: багатокористувацький сценарій
Клас з 30 учнів, усі запускають AR одночасно. Навантаження на шкільний Wi-Fi — нульове (офлайн-контент). Але синхронізація прогресу на сервер — 30 одночасних запитів при завершенні завдання. Firebase Firestore справляється, але потрібна стратегія exponential backoff при retry.
Для спільних AR-завдань (два учні разом збирають молекулу) — MultipeerConnectivity через Bluetooth, без Wi-Fi.
Кейс
Додаток по біології для 7–9 класу, 12 тем по анатомії людини. AR-розбірка кожного органу системи + вікторина після. Маркери на карточках (роздавальний матеріал до підручника). Офлайн-робота, прогрес в Firestore, вчительська панель на React.
Найскладніший момент: 3D-моделі органів від медичного ілюстратора прийшли в ZBrush форматі з 5 мільйонами полігонів. Автоматичною ретопологією не обійшлися — кожен орган ретопологували вручну до 20 000–40 000 полігонів зі збереженням медичної точності деталей. Це 40 годин роботи 3D-художника.
Терміни
| Масштаб | Терміни |
|---|---|
| MVP: 1 предмет, 5–7 AR-уроків, iOS | 3–4 місяці |
| Повний курс: 3 предмети, прогрес, вчительська панель | 6–10 місяців |
| Освітня платформа з CMS та LMS-інтеграцією | 12–18 місяців |
Вартість розраховується індивідуально після обговорення навчальної програми, цільової аудиторії та вимог до платформ.







