Mobile, Poradnik, Praca w IT

Jak stworzyć aplikację AR (rzeczywistości rozszerzonej). Przewodnik technologiczny

aplikacje na telefonie

Stopień wykorzystania i poziom rozwoju rzeczywistości rozszerzonej zwiększył się w ciągu ostatnich kilku lat. Wzrost ten jest następstwem inwestycji w możliwości sprzętu mobilnego, zainteresowania angażującymi doświadczeniami wirtualnymi z metaverse i rosnącej konkurencji w branży. 

Przy takich zmiennych rynek rzeczywistości rozszerzonej ma osiągnąć wartość 502 miliardów dolarów do 2027 r., wzrastając przy CAGR wynoszącym 62,7 proc., zgodnie z analizą Research and Markets. Jeśli ze swoim projektem rzeczywistości rozszerzonej planujesz stać się częścią tych statystyk, powinieneś wiedzieć o wszystkich niuansach tworzenia aplikacji AR.

W tym przewodniku omówimy szczegóły rozwoju rozszerzonej rzeczywistości w 2022 roku, w tym wybór technologii i przepływ rozwoju.

Typy aplikacji rzeczywistości rozszerzonej

Istnieje wiele różnych typów aplikacji AR, w tym rozwiązania AR oparte na znacznikach, bezznacznikowe, oparte na lokalizacji i nakładające AR. 

AR OPARTA NA ZNACZNIKACH

Aplikacje te wykorzystują określony „znacznik”, taki jak kod QR lub inny obraz. Zawartość 3D w aplikacji jest umieszczana w świecie względem znacznika lub na nim. Starszym, ale interesującym przykładem AR opartego na znacznikach jest PlayStation 3 Wonderbook, gamingowe „urządzenie peryferyjne”, które pozwala graczom przeglądać księgę zaklęć na ekranie. Książka obraca się i porusza, gdy użytkownik podnosi urządzenie lub nim porusza. Kamera wykorzystuje wzory w rzeczywistej książce jako odniesienie do wyświetlania treści AR, technologii, która jest obecnie często używana na Snapchacie i Instagramie.

AR BEZ ZNACZNIKÓW

Zamiast używać ustawionych wzorów lub kodów do wyzwalania treści, bezznacznikowa AR wykorzystuje kamerę do wykrywania wzorców środowiskowych, a także czujniki ruchu do wykrywania powierzchni i umieszczania obiektów 3D. W grę wchodzi zazwyczaj wiele różnych współpracujących ze sobą technologii, takich jak np.:

  • GPS i inne narzędzia lokalizacyjne,
  • cyfrowy kompas,
  • aparat,
  • akcelerometr i żyroskop,
  • czujniki głębokości.

Najnowsze urządzenia są wyposażone w sprzęt wykrywający głębokość (LiDAR, ToF) w celu zwiększenia precyzji. Tak więc bezznacznikowa AR jest wspomagana nie tylko przez czujniki głębokości i inne dane pozycjonowania, ale także przez algorytmy ML na tych danych. Pozwala to na dokładniejsze renderowanie treści 3D i wzmacnia iluzję, że obiekty cyfrowe są częścią rzeczywistego świata. Aplikacje takie jak Pokemon Go wykorzystują AR bez znaczników. 

Studium przypadku aplikacji AR bez znaczników: Rozwiązanie AR do renowacji domu

AR OPARTA NA LOKALIZACJI

Gdy użytkownicy wprowadzają określoną lokalizację, aplikacje AR mogą używać tych danych do dokładnego wyświetlania zawartości wirtualnej. W taki sposób działa AR oparta na lokalizacji. Zamiast po prostu wyświetlać obiekt w przestrzeni względnej, programiści są w stanie wskazywać obiekty w przestrzeni geograficznej, tak aby użytkownicy mogli je obserwować i wchodzić z nimi w interakcje. 

Pod względem technologicznym AR oparty na lokalizacji wykorzystuje GPS, kompas cyfrowy i akcelerometr. Ponadto istnieje kilka podejść do zawężenia pozycji urządzenia:

  • Bluetooth Low Energy Beacons,
  • VPS (Visual Positioning System),
  • Wi-Fi Direct o niskim zasięgu,
  • UWB (Ultra-WideBand).

NAŁOŻENIE AR

Ten rodzaj AR polega na cyfrowej wymianie obiektu lub nałożeniu wirtualnego obiektu na inny. Na przykład aplikacja, która może cyfrowo zmienić kolor kanapy, może zostać uznana za nakładanie AR. Technika ta jest przydatna w przypadku demonstracji przyczynowo-skutkowych. Na przykład użytkownik może skierować kamerę na obszary swojego miasta, aby zobaczyć, jak wyglądało dziesięć lat temu, wykorzystując archiwum Map Google. 

Technologie wykorzystywane do rozwoju rozszerzonej rzeczywistości

Technologie wykorzystywane w tworzeniu aplikacji rzeczywistości rozszerzonej mogą zależeć od wielu czynników, takich jak rodzaj używanego sprzętu, dostępna moc urządzenia i to, do jakiej aplikacji AR jest używany. 

Mobilne platformy rzeczywistości rozszerzonej

Smartfony mają wyjątkowe zalety w porównaniu z innymi platformami AR. Są powszechne na rynku i wyjątkowo przenośne. To sprawia, że AR jest bardziej dostępna dla wielu konsumentów, ponieważ nieporęczne zestawy słuchawkowe i eleganckie inteligentne okulary nie trafiły jeszcze do głównego nurtu. Z tego powodu mobilna AR jest głównym celem aplikacji biznesowych.

Chociaż mobilna rzeczywistość rozszerzona może nie być najpotężniejsza ani najbardziej angażująca, z pewnością ma potencjał, aby być bardzo dochodowa i jest jednym z najważniejszych trendów rzeczywistości rozszerzonej, które należy śledzić. Co więcej, mobilna AR może być dla właścicieli firm opłacalnym sposobem na dołączenie do trendu metaverse. Rozwiązania przymierzające, które pozwalają przetestować kosmetyki lub ubrania przed zakupem, awatary AR i filtry dostępne dla użytkowników na smartfonie, mogą pomóc firmom komunikować się z klientami nawet w wirtualnym środowisku.

Przeczytaj również: Przewodnik tworzenia aplikacji metaverse dla liderów biznesu

Istnieją trzy podejścia do mobilnej AR do wyboru dla firm:

  1. natywne aplikacje Android AR z ARCore,
  2. natywne aplikacje AR dla systemu iOS z ARKit,
  3. wieloplatformowe.

Natywne tworzenie aplikacji rozszerzonej rzeczywistości pozwala programistom wykorzystać zalety mocy urządzenia. Z kolei aplikacja wieloplatformowa może nie być w stanie wykorzystać zaawansowanych funkcji natywnych, ale może zminimalizować czas programowania. Tworzenie tej samej aplikacji z natywnym kodem na każdej platformie będzie droższe, ale jeśli wymagane są większe możliwości i funkcje, może być bardziej skuteczne. Jeśli aplikacja jest dość prosta, kod wieloplatformowy może wystarczyć. 

Mimo że system Android dominuje na globalnym rynku systemów operacyjnych, programiści na GitHub historycznie wydawali się preferować ARKit, ze względu na liczbę repozytoriów w ciągu ostatnich kilku lat. 

KOTWICE LOKALIZACJI

Kotwice lokalizacji umożliwiają programistom umieszczanie obiektów wirtualnych w świecie rzeczywistym przy użyciu współrzędnych geograficznych. Na przykład kotwice lokalizacji mogą wyświetlać trójwymiarową ikonę lub tekst w przestrzeni obok ikonicznego budynku. Kotwice lokalizacji są zależne od danych Apple Maps, wobec czego jeśli miasto nie jest obsługiwane przez Apple Maps, funkcjonalność kotwic lokalizacji może być ograniczona.

Jednym z najbardziej przełomowych elementów kotwic lokalizacji jest sposób określania lokalizacji. GPS po prostu nie jest wystarczająco precyzyjny, aby wygenerować kotwice lokalizacji na ekranie użytkownika. W celu rozwiązania problemu deweloperzy aplikacji muszą sięgnąć do funkcji aparatu, tak aby umożliwić urządzeniu skanowanie w poszukiwaniu funkcji na budynkach wokół nich. Korzystając z tych funkcji architektonicznych w połączeniu z danymi usługi Apple Maps Look Around, można lepiej określić lokalizację użytkownika z myślą o kotwicach lokalizacji.

DEPTH API

Depth API to kolejna cenna funkcja ARKit 4, która nadal odgrywa ważną rolę w ARKit 5 i ARKit 6. Wykorzystuje jedną z najpotężniejszych funkcji sprzętowych AR na urządzeniu mobilnym – skaner LiDAR na iPadzie Pro i smartfonach Phone 12 Pro, 12 Pro Max, 13 Pro, 13 Pro Max i 14 Pro. Umożliwia to znacznie lepszą analizę scen i pozwala obiektom świata rzeczywistego na zasłonięcie obiektów wirtualnych ze znacznie większą dokładnością.

RAYCASTING API

Interfejs API Raycasting firmy Apple umożliwia ulepszone umieszczanie obiektów w połączeniu z danymi o głębi. Pozwala to na znacznie dokładniejsze umieszczanie wirtualnych obiektów na różnych powierzchniach, biorąc pod uwagę ich krzywiznę i kąt. Interfejs może być wykorzystany na przykład do umieszczenia obiektu z boku ściany lub wzdłuż krzywizn sofy, a nie po prostu płasko na podłodze. Czujnik LiDAR pozwala na znacznie szybsze skanowanie powierzchni w porównaniu z tradycyjnymi metodami.

AKTUALIZACJE ARKIT 6

ARKit 6 będzie posiadał kilka nowych funkcji, tak aby poprawić wrażenia AR na urządzeniach z iOS. Niektóre z funkcji reklamowanych przez Apple obejmują lepsze przechwytywanie ruchu, ulepszenia dostępu do kamery i dodatkowe lokalizacje dla kotwic lokalizacji. Deweloperzy Apple’a planują również dołączyć Plane Anchors – funkcję, która pozwoliłaby śledzić płaskie powierzchnie, takie jak tabele, umożliwiając przenoszenie tych powierzchni bez zakłócania doświadczenia AR. ARKit 6 zostanie uruchomiony wraz z iOS 16 tej jesieni.

W ramach badań ARKit w MobiDev przetestowaliśmy użycie ARKit do śledzenia wzroku. Otwiera to wiele możliwości dla systemu iOS, takich jak gesty oparte na oczach, analiza map cieplnych witryny oparta na wizji oraz zapobieganie rozproszeniu lub sennej jeździe. 

ROZWÓJ AR DLA URZĄDZEŃ Z SYSTEMEM ANDROID: ARCORE

Starając się pozostać konkurencyjnym, Google znacząco rozwinął ARCore, tak aby pozostać jedną z najbardziej wszechstronnych platform programistycznych AR na świecie. Przyjrzyjmy się niektórym funkcjom używanym przez deweloperów.

KOTWICE W TECHNOLOGII CLOUD

To narzędzie pozwala użytkownikom umieszczać wirtualne obiekty w przestrzeni fizycznej, a także na to, aby mogły być oglądane przez innych użytkowników na własnych urządzeniach. Google zadbało, aby Cloud Anchors były widoczne również dla użytkowników na urządzeniach z iOS.

Po stronie Androida ARCore wprowadza nowe funkcje, aby dopasować się do postępów ARKit. W ARCore v1.33.0 znajdziemy nowe punkty końcowe Cloud Anchors i kotwice terenu. Oba te elementy poprawiają geograficzne zakotwiczenie obiektów wirtualnych. Na początku tego roku ARCore v.1.31.0 wprowadził ARCore Geospatial API, który, podobnie jak ARKit Location Anchors, wykorzystuje dane z baz danych map. W takim przypadku dane obrazów Google Earth i Street View są używane do identyfikowania położenia geograficznego użytkownika i dokładnego wyświetlania obiektów wirtualnych w tych lokalizacjach. Poniższy pokaz MobiDev ilustruje, jak działają funkcje wykrywania obiektów ARCore dla ustawień ręcznych użytkownika.

TWARZE AR

ARCore umożliwia programistom pracę z wysokiej jakości renderingami twarzy poprzez generowanie 468-punktowego modelu 3D. Maski i filtry można nakładać po zidentyfikowaniu twarzy użytkownika. Jest to jeden z najpopularniejszych przykładów użycia funkcji aplikacji AR.

OBRAZY AR

Wirtualne wizytówki i plakaty reklamowe to tylko niektóre z zastosowań, które są możliwe dzięki obrazom rozszerzonej rzeczywistości. Znaczniki 2D mogą być wykorzystywane do implementacji tych funkcji, a także bardziej zaawansowanych rozwiązań, takich jak nawigacja wewnętrzna AR.

Przetestowaliśmy ARCore z rozwiązaniami nawigacji wewnętrznej w MobiDev. W ciągu ostatnich kilku lat aplikacje takie jak pozycjonowanie w pomieszczeniach stały się jeszcze prostsze w obsłudze niż w czasie naszych pierwszych eksperymentów, dzięki czemu technologia ta jest łatwiejsza do wykorzystania w świecie rzeczywistym.

ARKit vs ARCore. Porównanie funkcji

Te dwie struktury odpowiednio dla Androida i iOS są prawie identyczne, gdy patrzy się na nie z perspektywy funkcji. Jednak prawdziwą różnicą między tymi dwoma urządzeniami jest spójność sprzętowa. Urządzenia Apple iPhone i iPad są bardziej spójne, jeśli chodzi o zachowanie i możliwości ich sprzętu. Tymczasem urządzenia z Androidem są budowane przez wielu różnych producentów i wedle różnych specyfikacji. Z tego powodu trudniej jest zapewnić spójne wrażenia na wielu różnych urządzeniach z Androidem.

Ponieważ sprzęt z Androidem jest mniej spójny, ważne jest, aby pamiętać, jak potężne będzie Twoje doświadczenie AR i na jakich urządzeniach AR powinno działać. Czy powinien działać przede wszystkim na najnowszych i najlepszych urządzeniach Samsung i Pixel z wysokowydajnymi funkcjami AR, czy też powinien być mniej intensywny, aby działać na większej liczbie urządzeń? Wybór należy do Ciebie, ale doświadczeni programiści AR są zawsze po Twojej stronie, aby pomóc Ci znaleźć najlepsze rozwiązanie. 

Wieloplatformowe mobilne rozwijanie AR w Unity

Jeśli wykorzystanie pełnej mocy natywnych frameworków AR na Androidzie i iOS nie jest konieczne, a Twoim celem jest czas wprowadzenia na rynek, dobrym rozwiązaniem może być wieloplatformowy rozwój AR w Unity. Unity AR Foundation to struktura pomocna w tworzenia wieloplatformowych aplikacji rzeczywistości rozszerzonej. Mimo że nie jest w stanie w pełni wykorzystać każdego urządzenia, Unity AR Foundation jest nadal dość potężna. Obsługuje wykrywanie płaszczyzny, kotwice, szacowanie światła, śledzenie obrazu 2D, śledzenie obiektów 3D, śledzenie ciała, okluzję i wiele innych.

W zależności od platformy, na której się znajdujesz, pewnych funkcji brakuje. Na przykład w Unity AR Foundation brakuje takich funkcji ARCore jak śledzenie obiektów 3D, siatka, śledzenie ciała 2D i 3D, uczestnicy współpracujący i segmentacja ludzi. Jeśli chcesz, aby Twoja aplikacja działała wieloplatformowo, musisz pamiętać o tych brakujących funkcjach. 

Studium przypadku: Aplikacje mobilne oparte na rozszerzonej rzeczywistości dla branży turystycznej

Internetowe technologie rzeczywistości rozszerzonej

Z jednej strony web AR jest niezwykle dostępną technologią, ponieważ może działać na wielu urządzeniach bez instalowania dodatkowego oprogramowania. Z drugiej strony web AR ma bardzo ograniczone funkcje i moc.

Niektóre firmy już wykorzystują Web AR do technologii takich jak rozwiązania wirtualnej przymierzalni. Na przykład Maybelline, L’Oréal i inne firmy mają opcję wirtualnego przymierzenia produktów kosmetycznych za pomocą przedniej kamery i oprogramowania sieciowego AR. 

Web AR najlepiej wykorzystywać do prostych zadań, takich jak filtry rozpoznawania twarzy, zmiana wyglądu lub koloru obiektu w scenie, na przykład włosów, zmiana tła do wideokonferencji i inne. Ważne, aby pamiętać o tych ograniczeniach przy podejmowaniu decyzji o tym, na jakiej platformie powinna działać aplikacja.

Rozwój rozszerzonej rzeczywistości dla urządzeń do noszenia AR

Gdy mówimy o technologii do noszenia na co dzień w kontekście rzeczywistości rozszerzonej, zwykle odnosimy się do sprzętu takiego jak Microsoft HoloLens oraz bardziej przenośnych i wygodnych okularów, takich jak Google Glass.

Z punktu widzenia inżynierii oprogramowania rozwój Microsoft HoloLence opiera się na połączeniu technologii Microsoft i Azure Cloud. 

Jeśli chodzi o okulary AR, większość sprzętu jest oparta na systemie Android, a producenci zapewniają zestawy SDK dla inżynierów do tworzenia aplikacji. Nadal należy brać pod uwagę pewne istotne aspekty. Pierwszym z nich jest User Experience i User Interface, ponieważ schemat korzystania z takiego oprogramowania jest zupełnie inny niż ten, do którego jesteśmy przyzwyczajeni w pracy ze smartfonami. Inżynierowie muszą być także w stanie tworzyć lekkie i zoptymalizowane aplikacje, ponieważ zużycie energii jest nadal głównym problemem wielu urządzeń.

Od czego zacząć tworzenie aplikacji AR

Rozwój każdego oprogramowania rozpoczyna się od zdefiniowania celów biznesowych. Tylko wtedy, gdy dobrze zrozumiesz, jakie wyniki chcesz osiągnąć, zespół programistów będzie mógł ci pomóc w stworzeniu takiego przepływu pracy, który spełni Twoje potrzeby biznesowe. Tradycyjnie proces tworzenia produktu zasilanego AR składa się z pięciu kroków.

Proces budowania aplikacji mobilnej rozszerzonej rzeczywistości rozpoczyna się od fazy przedkontraktowej. Ważne, aby omówić wymagania projektu z programistami, tak aby wszyscy byli na tej samej stronie co do celów i zakresu projektu. Umożliwia również przekazywanie informacji zwrotnych między programistami a firmą, aby pomóc im wyjaśnić pomysł i wybrać najlepszą możliwą drogę do sukcesu. 

Wybór stosu technologii jest kolejnym logicznym krokiem. Jest to niezbędne dla analizy biznesowej i technicznej, ponieważ decyduje o tym, która platforma będzie najlepsza do wykorzystania i jak projekt zostanie zbudowany. Co więcej, inżynierowie muszą mieć jasną wizję tego, w jaki sposób planują osiągnąć zamierzone rezultaty, ponieważ wprowadzenie AR do produktu często wiąże się z ukrytymi pułapkami, które należy wziąć pod uwagę. 

Następnie tworzone są prototypy i modele 3D. Potem rozpoczyna się dokładniejsze rozwijanie aplikacji. Obejmuje funkcje backendowe i mobilne, moduły AR i kontrolę jakości. Ponadto istnieje wiele różnych wyzwań związanych z testowaniem funkcji AR, które należy wziąć pod uwagę.

W końcu aplikacja będzie gotowa do wdrożenia. Wdrożenie będzie wiązało się z przejściem od rozwoju do wsparcia. Aplikacja musi zostać zaktualizowana i być obsługiwana, tak aby była zgodna z nowymi zestawami SDK i nowymi wymaganiami dotyczącymi urządzeń. 

MAGIA

Firmy z doświadczeniem w zastosowaniach AR mają przewagę w osiąganiu swoich celów. Jednak firmy, które nie mają wewnętrznych zespołów programistycznych rzeczywistości rozszerzonej, mogą mieć trudności z osiągnięciem swojej wizji bez pomocy doświadczonych specjalistów ds. rozwoju rzeczywistości rozszerzonej. Skorzystanie z pomocy doświadczonych programistów AR to świetny sposób na zbudowanie produktu i uzyskanie zwrotu z inwestycji.

Jak MobiDev może Ci pomóc

Naszemu zespołowi twórców aplikacji rozszerzonej rzeczywistości wyzwania nie są obce. MobiDev ma doświadczenie w tworzeniu aplikacji dla wielu różnych rozwiązań w różnych branżach. Z ponad 400 ekspertami, dwunastoletnim doświadczeniem i ponad 450 projektami w naszym portfolio jesteśmy w stanie współpracować z Tobą tak, aby osiągnąć Twoje cele.

Mając duże doświadczenie z innowacyjnymi technologiami, nasi programiści rzeczywistości rozszerzonej wiedzą, jak pokonać ograniczenia istniejących ram AR, tak aby tworzyć bardziej efektywne rozwiązania. Połączenie AR z zaawansowaną sztuczną inteligencją i algorytmami uczenia maszynowego może pomóc w zapewnieniu dokładniejszych i bardziej realistycznych doświadczeń AR, poprawie wydajności aplikacji i zwiększeniu zadowolenia klientów.

Jeśli jesteś gotowy, aby przenieść swój projekt z etapu pomysłu do prawdziwego świata, skontaktuj się z nami, abyśmy mogli porozmawiać o tym, jak możemy osiągnąć Twoją wizję.

Kierownik działu rozwoju aplikacji mobilnych w Mobidev.

Podobne artykuły

[wpdevart_facebook_comment curent_url="https://justjoin.it/blog/jak-stworzyc-aplikacje-ar-rzeczywistosci-rozszerzonej-przewodnik-technologiczny/" order_type="social" width="100%" count_of_comments="8" ]