Jak stworzyć pierwszy prototyp rzeczywistości rozszerzonej

Jeremi Andrzejewski • 12 listopada 2026
Dwóch budowlańców w kamizelkach odblaskowych używa gogli VR i tabletu, eksplorując rozszerzoną rzeczywistość na placu budowy.

Spis treści

Masz pomysł na aplikację, która pokazuje wirtualny mebel w pokoju albo etykiety nad elementami obwodu? Rozszerzona rzeczywistość łączy obraz z kamery z grafiką 3D, zwykle jednak dopiero po spełnieniu warunków dotyczących urządzenia, śledzenia otoczenia i sposobu uruchomienia.

Dłoń trzyma tablet, na którym widać model kampusu Apple z lotu ptaka. To przykład zastosowania technologii rozszerzonej rzeczywistości.

Najpierw wybierz mały problem do rozwiązania

  • Zacznij od jednego obiektu, który można umieścić na stole lub podłodze.
  • Oddziel grafikę od śledzenia przestrzeni: model 3D nie ustala sam, gdzie znajduje się powierzchnia.
  • Dobierz narzędzia do celu: projekt w przeglądarce i aplikacja mobilna mają różne ograniczenia.
  • Testuj na teksturowanym otoczeniu, bo jednolita ściana może utrudnić wykrywanie powierzchni.

Obiekt 3D to dopiero połowa efektu

Wyobraź sobie kubek, który ma stać na biurku, gdy poruszasz telefonem. Sam model 3D potrafi go narysować, ale system AR musi jeszcze oszacować położenie kamery i rozpoznać otoczenie, żeby kubek nie przesuwał się po ekranie.

W urządzeniach mobilnych śledzenie ruchu łączy obraz z kamery z danymi czujników. Aplikacja szuka charakterystycznych punktów, ocenia zmianę położenia telefonu, a potem może wykrywać płaszczyzny, takie jak podłoga czy blat. Ten proces określa się jako SLAM, czyli jednoczesne szacowanie położenia i tworzenie mapy otoczenia. Podstawowe pojęcia ARCore opisują też, jak system wykorzystuje punkty charakterystyczne, płaszczyzny, głębię i oświetlenie sceny.

W praktyce cyfrowy element musi dostać pozycję w przestrzeni, skalę i orientację. Jeśli aplikacja umieści go na chybił trafił, użytkownik zobaczy nakładkę, ale nie przekonujący obiekt osadzony w pokoju. Najlepszy pierwszy projekt ma więc jeden cel: poprawnie wykryć powierzchnię i stabilnie ustawić na niej prosty model.

Na start wybierz przeglądarkę albo aplikację mobilną

Można zacząć od kodu albo od silnika 3D, ale wybór zależy od tego, gdzie ma działać efekt. Uważam, że dla osoby uczącej się podstaw programowania rozsądniej jest najpierw zbudować mały prototyp i sprawdzić dostępność funkcji na docelowym urządzeniu, zamiast od razu rozbudowywać scenę.

DrogaCo dajeNa co uważać
WebXRUruchamianie doświadczeń XR w przeglądarce i łatwe udostępnianie prototypu.Obsługa zależy od przeglądarki i urządzenia; trzeba przygotować wariant bez AR.
AR FoundationWspólny przepływ pracy w Unity dla aplikacji na Androida i iOS.Wymaga skonfigurowania odpowiednich wtyczek i osobnego sprawdzenia funkcji na platformie.
ARCoreNatywne funkcje AR dla zgodnych urządzeń z Androidem.Trzeba uwzględnić zgodność telefonu i dostępność wymaganych usług.

W przypadku WebXR test zgodności jest częścią logiki aplikacji, a nie dodatkiem na koniec. Strona może sprawdzić, czy przeglądarka udostępnia sesję w trybie immersive-ar, i dopiero wtedy pokazać przycisk uruchamiający AR; do działania API potrzebny jest też bezpieczny kontekst, zwykle HTTPS. Opis cyklu życia WebXR w MDN pokazuje sprawdzanie obsługi przed rozpoczęciem sesji. Dokumentacja zaznacza również, że dostępność WebXR pozostaje ograniczona w części popularnych przeglądarek. Dokumentacja WebXR Device API pomaga ocenić to ograniczenie przed wyborem rozwiązania.

Prosta reguła wyboru: jeśli zależy Ci na łatwym udostępnieniu prototypu, sprawdź WebXR na konkretnych telefonach i przeglądarkach; jeśli projekt ma być aplikacją mobilną i potrzebuje szerszego dostępu do funkcji AR, rozważ AR Foundation albo natywne ARCore. Język Python przyda się do obsługi serwera, analizy danych czy przygotowania zasobów, ale sam w sobie nie zastępuje środowiska odpowiedzialnego za sesję AR i renderowanie 3D.

Dotknięcie ekranu powinno wyznaczyć miejsce obiektu

Użytkownik dotyka ekranu, a aplikacja musi ustalić, w którym miejscu świata ten punkt się znajduje. Do tego służy hit-test, nazywany też raycastem: system prowadzi promień od kamery przez wskazany punkt ekranu i sprawdza, czy przecina wykrytą powierzchnię.

Załóżmy, że pierwsza wersja aplikacji ma wstawić model lampy na stół. Po wykryciu blatu program wykonuje hit-test w miejscu dotknięcia; wynik zawiera pozycję i orientację, które można wykorzystać do utworzenia kotwicy. Kotwica, czyli anchor, pomaga utrzymać model w tym samym miejscu, kiedy system aktualizuje ocenę otoczenia. Dokumentacja testów trafienia ARCore rozróżnia trafienia w płaszczyznę, punkty charakterystyczne, głębię i szybkie rozmieszczanie.

Jeśli urządzenie nie ma jeszcze pewnej mapy sceny, tryb szybkiego rozmieszczania może pokazać obiekt od razu, lecz jego początkowa głębokość i skala są szacowane. Gdy system pozna geometrię otoczenia, pozycja może się skorygować. Do nauki wybierz trafienie w płaszczyznę, jeśli obiekt ma stanąć na podłodze lub stole i precyzja jest ważniejsza niż natychmiastowa reakcja.

Rozpoznawanie ściany nie oznacza, że AR ją widzi

Równa, biała ściana może wydawać się idealnym tłem do testów, ale systemowi śledzenia często brakuje na niej charakterystycznych punktów obrazu. W efekcie płaszczyzna może zostać wykryta późno albo niestabilnie, mimo że dla człowieka jej krawędzie są oczywiste. Opis działania ARCore wskazuje, że gładkie, pozbawione tekstury powierzchnie bywają trudne do rozpoznania.

Przygotuj więc scenę z detalami: połóż na stole książkę, kartkę z nadrukiem albo przedmiot o wyraźnych krawędziach. To nie gwarantuje poprawnego śledzenia, ale daje systemowi więcej wizualnych punktów odniesienia. Warto też rozróżnić wykrywanie płaszczyzny od rozumienia całej sceny: rozpoznanie blatu nie oznacza automatycznie, że aplikacja poprawnie odtworzy kształt każdego przedmiotu.

SytuacjaPrawdopodobna przyczynaCo zrobić
Obiekt nie pojawia się po dotknięciuSystem nie znalazł płaszczyzny ani innego trafienia.Powoli skieruj kamerę na teksturowaną powierzchnię i spróbuj ponownie.
Model przesuwa się po blaciePozycja nie jest stabilnie powiązana z przestrzenią.Użyj kotwicy i sprawdź, czy nie tworzysz wielu kotwic dla bliskich elementów.
AR nie uruchamia się w przeglądarceUrządzenie lub przeglądarka nie obsługuje wymaganej sesji.Sprawdź wsparcie przed pokazaniem przycisku i udostępnij zwykły podgląd 3D jako alternatywę.
Pozycja modelu zmienia się po chwiliSystem doprecyzowuje mapę otoczenia albo początkowy punkt był tylko szacowany.Przetestuj stabilne trafienie w płaszczyznę i nie wymagaj natychmiastowej precyzji w trybie szybkiego rozmieszczania.

Pierwszy prototyp może mieć tylko trzy kroki

Zakres łatwo napompować: animacja, cienie, wiele modeli i interakcje kuszą od początku. Tymczasem prototyp z jedną bryłą szybciej ujawnia, czy problem leży w grafice, śledzeniu czy obsłudze urządzenia.

  1. Wyświetl podgląd kamery i sprawdź, czy aplikacja poprawnie uzyskuje dostęp do obrazu.
  2. Wykryj powierzchnię i pokaż użytkownikowi, kiedy system ją rozpoznał.
  3. Po dotknięciu umieść prosty model, a następnie obserwuj, czy pozostaje stabilny podczas ruchu telefonu.

Jeśli używasz Unity, funkcje wyszukiwania płaszczyzn i kotwic udostępnia AR Foundation przez komponenty takie jak ARPlaneManager i ARAnchorManager. Zestawienie funkcji AR Foundation z ARCore pokazuje, które możliwości są dostępne w podstawowej konfiguracji, a które wymagają rozszerzeń. To przydatne rozróżnienie, bo nazwa „wspierane AR” nie oznacza, że każda funkcja działa identycznie na wszystkich urządzeniach.

Gdybym wybierał ścieżkę dla pierwszego mobilnego prototypu, postawiłbym na Unity z AR Foundation, jeśli aplikacja ma trafić zarówno na Androida, jak i iOS; dla krótkiego eksperymentu udostępnianego przez stronę zacząłbym od WebXR, ale od razu dodałbym zwykły podgląd 3D. Dobry pierwszy wynik to nie efektowna scena, lecz obiekt, który pojawia się w przewidywalnym miejscu i nie znika przy pierwszym ruchu telefonu.

FAQ - Najczęstsze pytania

WebXR sprawdzi się przy eksperymencie udostępnianym przez stronę, ale obsługa zależy od przeglądarki i urządzenia, a API wymaga bezpiecznego kontekstu, zwykle HTTPS. AR Foundation w Unity warto rozważyć dla aplikacji mobilnej na Androida i iOS. W obu przypadkach sprawdź dostępność funkcji na docelowych telefonach i zapewnij zwykły podgląd 3D jako alternatywę.

System śledzenia szuka charakterystycznych punktów obrazu, których jednolita powierzchnia może nie dostarczać. Wykrywanie może być wtedy opóźnione lub niestabilne. Do testów wybierz teksturowane otoczenie, na przykład połóż na blacie książkę albo kartkę z nadrukiem.

Użyj hit-testu, czyli raycastu prowadzącego promień od kamery przez wskazany punkt ekranu i sprawdzającego, czy przecina wykrytą powierzchnię. Wynik dostarcza pozycji i orientacji, na podstawie których można utworzyć kotwicę. Kotwica pomaga utrzymać model w tym samym miejscu podczas aktualizacji mapy otoczenia.

Najpierw wyświetl podgląd kamery i sprawdź dostęp do obrazu. Następnie wykryj powierzchnię oraz poinformuj użytkownika, kiedy zostanie rozpoznana. Na końcu umieść prosty model po dotknięciu ekranu i sprawdź, czy pozostaje stabilny podczas ruchu telefonu.

Oceń artykuł

Ocena: 0.00 Liczba głosów: 0

Tagi

rzeczywistość rozszerzona
arcore
slam
webxr
hit-test
Autor Jeremi Andrzejewski
Jeremi Andrzejewski
Nazywam się Jeremi Andrzejewski i od 13 lat zajmuję się programowaniem, w szczególności w języku Python oraz nowoczesnymi technologiami. Moje zainteresowanie tymi tematami zaczęło się od pierwszych projektów, które realizowałem w szkole, a z czasem przerodziło się w pasję do rozwiązywania problemów i tworzenia innowacyjnych rozwiązań. Lubię dzielić się swoją wiedzą, szczególnie w zakresie analizy danych, automatyzacji procesów oraz tworzenia aplikacji webowych. W swojej pracy koncentruję się na dostarczaniu użytecznych, klarownych i aktualnych informacji. Staram się zawsze sprawdzać źródła, porównywać dostępne informacje i upraszczać skomplikowane zagadnienia, aby były zrozumiałe dla każdego. Wierzę, że odpowiednie zorganizowanie wiedzy oraz śledzenie najnowszych trendów w branży są kluczowe dla efektywnego nauczania i rozwoju. Cieszę się, że mogę dzielić się swoimi doświadczeniami na akademiapython.pl, gdzie mam nadzieję inspirować innych do odkrywania fascynującego świata programowania.

Udostępnij artykuł

Napisz komentarz