Google jest zaangażowany w promowanie równości rasowej dla społeczności czarnych. Zobacz jak.

Idee fundamentalne

Przed zanurzeniem się w ARCore warto zrozumieć kilka podstawowych pojęć. Te koncepcje razem ilustrują, w jaki sposób ARCore umożliwia doświadczenia, które mogą sprawiać, że zawartość wirtualna może wyglądać na spoczywającą na rzeczywistych powierzchniach lub przyczepioną do rzeczywistych lokalizacji.

Śledzenie ruchu

Gdy Twój telefon porusza się po świecie, ARCore wykorzystuje proces zwany jednoczesną lokalizacją i mapowaniem lub SLAM, aby zrozumieć, gdzie telefon znajduje się względem otaczającego go świata. ARCore wykrywa wizualnie różne cechy na przechwyconym obrazie z kamery, zwane punktami charakterystycznymi i wykorzystuje te punkty do obliczenia zmiany położenia. Informacja wizualna połączeniu z pomiarami bezwładności z IMU urządzenia do oszacowania stanowi (pozycji i orientacji) kamery względem świecie w czasie.

Dopasowując pozę wirtualnej kamery, która renderuje zawartość 3D do pozy kamery urządzenia dostarczonej przez ARCore, programiści mogą renderować wirtualną zawartość z właściwej perspektywy. Zrenderowany obraz wirtualny można nałożyć na obraz uzyskany z kamery urządzenia, dzięki czemu wygląda tak, jakby zawartość wirtualna była częścią świata rzeczywistego.

Zrozumienie środowiska

ARCore stale poprawia swoje zrozumienie środowiska świata rzeczywistego, wykrywając punkty charakterystyczne i płaszczyzny.

ARCore wyszukuje skupiska punktów charakterystycznych, które wydają się leżeć na typowych powierzchniach poziomych lub pionowych, takich jak stoły lub ściany, i udostępnia te powierzchnie w aplikacji jako płaszczyzny . ARCore może również określić granice każdego samolotu i udostępnić te informacje Twojej aplikacji. Możesz użyć tych informacji do umieszczania wirtualnych obiektów spoczywających na płaskich powierzchniach.

Ponieważ ARCore wykorzystuje punkty charakterystyczne do wykrywania płaszczyzn, płaskie powierzchnie bez tekstury, takie jak biała ściana, mogą nie zostać wykryte prawidłowo.

Głębokie zrozumienie

ARCore może tworzyć mapy głębi, obrazy zawierające dane o odległości między powierzchniami z danego punktu, używając głównej kamery RGB z obsługiwanego urządzenia . Możesz użyć informacji dostarczonych przez mapę głębi, aby umożliwić użytkownikom wciągające i realistyczne wrażenia, takie jak precyzyjne zderzanie wirtualnych obiektów z obserwowanymi powierzchniami lub wyświetlanie ich przed lub za rzeczywistymi obiektami.

Oszacowanie światła

ARCore potrafi wykryć informacje o oświetleniu swojego otoczenia i podać średnią intensywność i korekcję kolorów danego obrazu z kamery. Te informacje pozwalają oświetlić wirtualne obiekty w takich samych warunkach, jak otoczenie wokół nich, zwiększając poczucie realizmu.

Interakcja z użytkownikiem

ARCore wykorzystuje testy trafień, aby pobrać współrzędną (x, y) odpowiadającą ekranowi telefonu (dostarczaną przez stuknięcie lub jakąkolwiek inną interakcję, którą ma obsługiwać aplikacja) i rzutuje promień w widok świata z kamery, zwracając wszelkie cechy punktów, które przecina promień, wraz z ułożeniem tego przecięcia w przestrzeni świata. Dzięki temu użytkownicy mogą wybierać obiekty w środowisku lub w inny sposób wchodzić z nimi w interakcję.

Punkty zorientowane

Zorientowane punkty umożliwiają umieszczanie wirtualnych obiektów na pochyłych powierzchniach. Kiedy wykonujesz test trafienia, który zwraca punkt cechy, ARCore spojrzy na pobliskie punkty cechy i użyje ich do próby oszacowania kąta powierzchni w danym punkcie cechy. ARCore zwróci wtedy pozę uwzględniającą ten kąt.

Ponieważ ARCore wykorzystuje skupiska punktów charakterystycznych do wykrywania kąta powierzchni, powierzchnie bez tekstury, takie jak biała ściana, mogą nie zostać wykryte prawidłowo.

Kotwice i śledzie

Pozy mogą się zmieniać, gdy ARCore poprawia zrozumienie własnej pozycji i otoczenia. Kiedy chcesz umieścić wirtualny obiekt, musisz zdefiniować kotwicę, aby mieć pewność, że ARCore śledzi pozycję obiektu w czasie. Często tworzysz kotwicę na podstawie pozy zwróconej przez test trafień, zgodnie z opisem w interakcji z użytkownikiem .

Fakt, że pozy może się zmieniać, oznacza, że ​​ARCore może aktualizować położenie obiektów środowiskowych, takich jak samoloty i punkty charakterystyczne w czasie. Płaszczyzny i punkty to specjalny rodzaj obiektów nazywanych śledzonymi . Jak sugeruje nazwa, są to obiekty, które ARCore będzie śledził w czasie. Możesz zakotwiczyć wirtualne obiekty do określonych śladów, aby zapewnić, że relacja między wirtualnym obiektem a elementem możliwym do śledzenia pozostanie stabilna, nawet gdy urządzenie się porusza. Oznacza to, że jeśli umieścisz wirtualną figurkę Androida na biurku, jeśli ARCore później dostosuje pozę płaszczyzny skojarzonej z biurkiem, figurka Androida nadal będzie wyglądać na pozostającą na stole.

Rozszerzone obrazy

Obrazy rozszerzone to funkcja, która umożliwia tworzenie aplikacji AR, które mogą reagować na określone obrazy 2D, takie jak opakowania produktów lub plakaty filmowe. Użytkownicy mogą wyzwalać doświadczenia z rozszerzoną rzeczywistością, gdy skierują aparat telefonu na określone obrazy - na przykład mogą skierować aparat telefonu na plakat filmowy i wyskoczyć z postaci i odegrać scenę.

ARCore śledzi również ruchome obrazy, takie jak na przykład billboard z boku jadącego autobusu.

Obrazy można kompilować offline w celu utworzenia bazy danych obrazów lub dodawać pojedyncze obrazy w czasie rzeczywistym z urządzenia. Po zarejestrowaniu ARCore wykryje te obrazy, ich granice i zwróci odpowiednią pozę.

Dzielenie się

ARCore Cloud Anchor API umożliwia tworzenie aplikacji do współpracy lub dla wielu graczy na urządzenia z systemem Android i iOS.

Dzięki Cloud Anchors jedno urządzenie wysyła kotwicę i pobliskie punkty funkcji do chmury w celu hostowania. Te kotwice można udostępniać innym użytkownikom na urządzeniach z systemem Android lub iOS w tym samym środowisku. Dzięki temu aplikacje mogą renderować te same obiekty 3D dołączone do tych kotwic, umożliwiając użytkownikom jednoczesne korzystanie z tych samych funkcji AR.

Ucz się więcej

Zacznij wprowadzać te koncepcje w życie, budując środowiska AR na wybranej platformie.