Zanim zaczniesz korzystać z ARCore, warto poznać kilka podstawowych koncepcji. Wszystkie te koncepcje ilustrują, w jaki sposób ARCore umożliwia korzystanie z usług, dzięki którym treści wirtualne wydają się spoczywać na rzeczywistych powierzchniach lub być dołączone do rzeczywistych lokalizacji.
Śledzenie ruchu
Gdy Twój telefon przesuwa się przez świat, ARCore korzysta z procesu nazywanego synchronizacją współczesną lokalizacji i mapowaniem (SLAM), aby określić jego położenie względem świata wokół siebie. ARCore wykrywa na zrobionym zdjęciu kamery wyróżniające się wizualnie elementy nazywane punktami cech i na podstawie tych punktów oblicza ich zmianę w lokalizacji. Informacje wizualne są łączone z pomiarami bezwładnymi pochodzącymi z jednostki IMU urządzenia, aby oszacować położenie (położenie i orientację) kamery w odniesieniu do świata w czasie.
Dzięki ułożeniu wirtualnej kamery, która renderuje treści 3D, deweloperzy mogą renderować treści wirtualne z odpowiedniej perspektywy. Wyrenderowany wirtualny obraz może zostać nałożony na obraz wygenerowany z aparatu urządzenia, dzięki czemu będzie sprawiać wrażenie, jakby treści wirtualne były częścią świata rzeczywistego.
Wiedza o środowisku
ARCore nieustannie ulepsza rozumienie rzeczywistego środowiska, wykrywając punkty cech i samoloty.
ARCore wyszukuje klastry punktów cech, które wyglądają na typowe, poziome lub pionowe powierzchnie, takie jak tabele czy ściany, i udostępnia je aplikacji jako płaszczyzny geometryczne. ARCore może również określić granice każdej płaszczyzny geometrycznej i udostępnić te informacje aplikacji. Na podstawie tych informacji możesz umieszczać wirtualne obiekty leżące na płaskich powierzchniach.
ARCore używa punktów charakterystycznych do wykrywania samolotów, dlatego płaskie powierzchnie bez tekstur, takie jak biała ściana, mogą nie zostać prawidłowo wykryte.
Zrozumienie
ARCore może tworzyć mapy głębi, czyli zdjęcia zawierające dane o odległości między powierzchniami w danym punkcie przy użyciu głównej kamery RGB obsługiwanego urządzenia. Informacje dostarczane przez mapę głębi możesz wykorzystać, aby zapewnić użytkownikom realistyczne i wciągające wrażenia. Może to być np. precyzyjne zderzenie obiektów wirtualnych z zaobserwowanymi powierzchniami lub pozorowanie ich przed lub za prawdziwymi obiektami.
Oszacowanie światła
ARCore wykrywa informacje o oświetleniu otoczenia i podaje średnią intensywność oraz korekcję kolorów na zdjęciach z aparatu. Te informacje pozwalają oświetlać wirtualne obiekty w tych samych warunkach co otoczenie, co zwiększa realizm.
Interakcja użytkownika
ARCore używa testowania trafień, aby pobrać współrzędną (x,y) odpowiadającą ekranowi telefonu (po kliknięciu lub dowolnej innej interakcji, którą ma obsługiwać aplikacja) i rzutuje promienie na widok świata z kamery, zwracając wszelkie geometryczne płaszczyzny lub punkty cech, które przecinają promienie, oraz położenie tego przecięcia w przestrzeni świata. Dzięki temu użytkownicy mogą wybierać obiekty w środowisku lub wchodzić z nimi w interakcje.
Zorientowane punkty
Zorientowane punkty umożliwiają umieszczanie wirtualnych obiektów na nachylonych powierzchniach. Gdy wykonujesz test działania, który zwraca punkt cechy, ARCore szuka pobliskich punktów cech i wykorzystuje je do próby oszacowania kąta powierzchni w danym punkcie cech. ARCore wyświetli obraz z uwzględnieniem tego kąta.
ARCore używa klastrów punktów cech do wykrywania kąta powierzchni, dlatego powierzchnie bez tekstur, takie jak biała ściana, mogą nie zostać prawidłowo wykryte.
Reklamy zakotwiczone i możliwe do śledzenia
Pozycje mogą się zmieniać, gdy ARCore uczy się lepiej rozpoznawać swoją pozycję i środowisko. Jeśli chcesz umieścić obiekt wirtualny, musisz zdefiniować kotwicę, aby mieć pewność, że ARCore śledzi jego pozycję w czasie. Często zdarza się, że tworzysz reklamę zakotwiczoną na podstawie pozycji zwróconej w teście działania, zgodnie z opisem w sekcji interakcja użytkownika.
Fakt, że pozycje mogą się zmieniać, oznacza, że ARCore może z czasem aktualizować położenie obiektów środowiskowych, takich jak płaszczyzny geometryczne i punkty cech. Płaszcze i punkty to specjalne rodzaje obiektów nazywane śledzącymi. ARCore będzie śledzić z biegiem czasu te obiekty – jak sama nazwa wskazuje. Obiekty wirtualne możesz zakotwiczyć do konkretnych elementów do śledzenia, aby mieć pewność, że relacja między obiektem wirtualnym a elementem do śledzenia pozostanie stabilna nawet wtedy, gdy urządzenie się porusza. Oznacza to, że jeśli położysz na biurku wirtualną figurkę Androida, a ARCore później dostosuje położenie płaszczyzny geometrycznej powiązanej z biurkiem, będzie ona nadal widoczna na stole.
Więcej informacji znajdziesz w artykule Praca z reklamami zakotwiczonymi.
Obrazy rozszerzone
Obrazy rozszerzone to funkcja, która umożliwia tworzenie aplikacji AR, które reagują na określone zdjęcia 2D, np. na opakowaniach produktów czy plakatach filmowych. Użytkownicy mogą aktywować funkcje AR, skieruj aparat telefonu na określone obrazy – na przykład skieruj aparat telefonu na plakat filmowy, po czym pojawi się postać, która odegra scenę.
ARCore śledzi również ruchome obrazy, np. billboard z boku jadącego autobusu.
Obrazy można kompilować offline, aby utworzyć bazę danych obrazów, lub dodawać poszczególne obrazy z urządzenia w czasie rzeczywistym. Po zarejestrowaniu ARCore wykryje te obrazy oraz ich granice i zwróci odpowiednią pozycję.
Udostępnianie
ARCore Cloud Anchor API pozwala tworzyć aplikacje do współpracy lub gry wieloosobowej na urządzenia z Androidem i iOS.
Dzięki nim jedno urządzenie wysyła kotwicę i znajdujące się w pobliżu punkty funkcji do chmury, gdzie można je hostować. Reklamy zakotwiczone można udostępniać innym użytkownikom urządzeń z Androidem lub iOS w tym samym środowisku. Dzięki temu aplikacje mogą renderować te same obiekty 3D dołączone do tych kotwic, dzięki czemu użytkownicy mogą jednocześnie korzystać z tych samych funkcji AR.
Więcej informacji
Zacznij wprowadzać te pojęcia w życie, tworząc doświadczenia AR na wybranej przez siebie platformie.