Інтеграція Vuforia SDK для AR в мобільний додаток
Vuforia займає нішу, де ARKit та ARCore програють: промислови маркерний AR з Model Targets. Розпізнавання 3D-моделей станків, медообладнання, автомобільних вузлів — без надрукованих маркерів, по формі самого об'єкта. Для consumer AR (ігри, e-commerce) Vuforia надмірна та дорога за ліцензією. Але якщо потрібен надійний Industrial AR — це правильний вибір.
Типи таргетів та коли що вибирати
| Тип таргета | Що розпізнає | Типовий кейс |
|---|---|---|
| Image Target | Плоске зображення | Маркери в упаковці, листівки |
| Model Target | 3D-об'єкт по формі | Обладнання, авто, медтехніка |
| Object Target | Сканований фізичний об'єкт | Унікальні предмети |
| Cylinder Target | Циліндрична поверхня | Банки, пляшки |
| Multi Target | Збірка з кількох площин | Упаковочні коробки |
Model Target — головна перевага Vuforia. Берешь CAD-модель в STL/OBJ, завантажуєш в Vuforia Model Target Generator, отримуєш .unitypackage з базою для розпізнавання. На реальному об'єкті Vuforia знаходить його за 1–3 секунди при гарному освітленні.
Інтеграція в Unity
Vuforia Engine 10.x працює як Unity Package через Package Manager. Ліцензійний ключ прописується в VuforiaConfiguration.asset:
// Ініціалізація через код (альтернатива GUI-конфігурації)
VuforiaApplication.Instance.OnVuforiaInitialized += OnVuforiaReady;
private void OnVuforiaReady(VuforiaInitError error)
{
if (error != VuforiaInitError.NONE)
{
Debug.LogError($"Vuforia init failed: {error}");
return;
}
// Сесія готова
}
Image Target — додаємо ImageTargetBehaviour на GameObject, назначаємо таргет з бази:
public class ProductARHandler : MonoBehaviour, ITargetStatusHandler
{
[SerializeField] GameObject arContent;
public void OnStatusChanged(TargetStatus status)
{
var isTracking = status.Status == Status.TRACKED
|| status.Status == Status.EXTENDED_TRACKED;
arContent.SetActive(isTracking);
}
}
EXTENDED_TRACKED — маркер вийшов з кадру, але Vuforia продовжує утримувати позицію по IMU. Контент залишається видимим кілька секунд — добре для промислових кейсів, де робітник не дивиться постійно на мітку.
Model Target: нюанси з практики
Model Target Generator вимагає вказати початкову позу (Initial Pose) — кут, з якого користувач починає наведення. Якщо поза не совпадает з реальним кутом прегляду — пристрій не починає tracking. Для промислового кейса робимо 3–5 поз з різних сторін.
Advanced Model Target (ліцензія Enterprise+) додає автоматичне виявлення без Initial Pose. Працює повільніше, але не вимагає інструкції користувачеві.
var modelTargetBehaviour = GetComponent<ModelTargetBehaviour>();
modelTargetBehaviour.SetActiveGuideView(0); // Переключення активної Initial Pose
Продуктивність та обмеження
Vuforia працює поверх нативної камери та додає значний CPU overhead — recognition pipeline постійно обробляє кадри. На бюджетних Android-пристроях це ощутимо: Vuforia + Unity рендеринг можуть давати 25 FPS замість 60.
Обмеження по одночасному трекінгу: Image Targets — до 5 одночасно (залежить від плану). Model Targets — 1 активний. Якщо потрібно більше — кастомний Multi Target або зміна стратегії.
Vuforia не працює в Unity Editor без Enterprise ліцензії — тільки на пристрої. Це уповільнює ітерації. Рішення: mock-режим через VuforiaEmulator для відладки UI та логіки без реального трекінгу.
Ліцензування
Vuforia — проприетарний SDK з щомісячною оплатою. Basic (безкоштовно): водяний знак на камері, обмежені таргети. Classic/Pro: без водяного знака, розширені можливості. Enterprise: Model Target Advanced, офлайн-ліцензії для промислових пристроїв. Бюджет на ліцензію потрібно закладати заранее — для B2B Industrial AR зазвичай потрібна Enterprise.
Терміни
Інтеграція Vuforia з Image Targets та відображенням 3D-контенту: 3–5 днів. Model Target з CAD-базою та кастомним UI-overlay: 1–2 тижні. Повне промислове рішення з кількома таргетами, Extended Tracking та Enterprise ліцензією: 3–6 тижнів.







