Przewodnik dla programistów dotyczący Ulepszonych obrazów dla Unity

Dowiedz się, jak korzystać z obrazów rozszerzonych w swoich aplikacjach.

Wymagania wstępne

Zanim przejdziesz dalej, przeczytaj podstawowe zagadnienia dotyczące AR i skonfiguruj sesję ARCore.

Tworzenie i uruchamianie przykładowej aplikacji

Utwórz nowy projekt w Unity na podstawie krótkiego wprowadzenia.

Tworząc aplikację, pamiętaj, aby dołączyć do nich urozmaiconą scenę graficzną stworzoną w Assets/GoogleARCore/Examples/AugmentedImage/Scenes/.

Upewnij się, że urządzenie jest połączone z komputerem, a następnie kliknij Utwórz i uruchom. Unity tworzy projekt w pliku APK na Androida, instaluje go na urządzeniu i uruchamia.

Gdy poruszasz urządzeniem, aplikacja automatycznie wykrywa i śledzi obrazy z zestawu obrazów referencyjnych, które znajdują się pod adresem Assets/GoogleARCore/Examples/AugmentedImage/Images/.

Utwórz plik bazy danych

W oknie Project (Projekt) wybierz zestaw obrazów referencyjnych (PNG lub JPG), a następnie kliknij prawym przyciskiem myszy i wybierz Create > Google ARCore > AugmentedImageDatabase.

Nowa baza danych obrazów zostanie utworzona w tym samym folderze co obrazy referencyjne.

W oknie Inspektor zobaczysz obrazy w bazie danych oraz wynik jakości. System może mieć problem z wykrywaniem obrazów o wyniku jakości poniżej 75.

Opcjonalnie możesz określić fizyczną szerokość (w metrach) każdego obrazu. Gdy to zrobisz, ARCore może oszacować położenie fizycznego obrazu w czasie działania, gdy tylko wykryje ten obraz. Użytkownik nie musi zmieniać położenia urządzenia, na którym ma się wyświetlać, z różnych punktów widzenia.

Użyj pliku bazy danych

  1. W oknie Projekt przejdź do Assets/GoogleARCore/Examples/AugmentedImage/Configurations i otwórz AugmentedImagesSessionConfig.

  2. W Inspektorze kliknij pole obok opcji Augmented Data Data (Baza danych obrazów rozszerzonych) i wybierz utworzony przez siebie plik bazy danych.

Pobierz AugmentedImage

Zobacz przykład AugmentedImageExampleController.cs w Assets/GoogleARCore/Examples/AugmentedImage/Scripts: przykład, który umożliwia śledzenie:

Session.GetTrackables<AugmentedImage>(myList, TrackableQueryFilter.Updated);

Pomoc w różnych przypadkach użycia

Gdy ARCore wykryje obraz rzeczywistości, tworzy dla niego Trackable i ustawia wartość TrackingState na Tracking oraz AugmentedImageTrackingMethod na FullTracking. Po przeniesieniu zdjęcia z widoku kamery ARCore zmienia wartość AugmentedImageTrackingMethod na LastKnownPose, zachowując nadal orientację i położenie obrazu.

Aplikacja powinna używać tych liczników w różny sposób, w zależności od konkretnego przypadku użycia.

  • Stałe obrazy. Większość przypadków użycia dotyczących zdjęć, które zostały naprawione (czyli nie powinny się poruszać), może po prostu użyć TrackingState do określenia, czy obraz został wykryty i czy jest znana jego lokalizacja. AugmentedImageTrackingMethod można zignorować.

  • Przenoszenie obrazów. Jeśli Twoja aplikacja musi śledzić ruchomy obraz, użyj właściwości TrackingState i AugmentedImageTrackingMethod, aby określić, czy obraz został wykryty i czy jest w stanie ustalić jego pozycję.

Przypadek użycia Stały obraz Ruchomy obraz
Przykład Plakat na ścianie Reklama z boku autobusu
Pozycja może być
uznana za prawidłową,
TrackingState == Tracking TrackingState == Tracking
i
AugmentedImageTrackingMethod == FullTracking