Nowe i ważne zmiany w ARCore.
Nowości w ARCore w wersji 1.54.0
Nowe interfejsy API i możliwości
- Dodano
ArCoreNativeInterop,ArCoreNativeInterop.getNativeHandle()iArCoreNativeInterop.getSymbolTable(), aby umożliwić udostępnianie lub przekazywanie własności obiektów ARCore między Javą a C++.
Nowości w ARCore w wersji 1.53.0
Nowe interfejsy API i możliwości
- Dodaliśmy obsługę menedżera pakietów Swift (SPM) w iOS (wersja alfa) w przypadku rozszerzeń ARCore dla AR Foundation w Unity.
- CocoaPods pozostaje domyślnym menedżerem zależności.
- Zależności są rozwiązywane za pomocą SPM tylko wtedy, gdy jest to wyraźnie skonfigurowane.
- Dodano
-ObjCwstrzykiwanie flagi linkera w przypadku kompilacji na iOS.
Inne zmiany
- Uaktualniono Menedżera zależności zewnętrznych dla Unity (EDM4U) do wersji 1.2.187.
- Rozwiązaliśmy błąd kompilacji związany ze zgodnością z Unity 6.3.
Nowości w ARCore w wersji 1.52.0
Inne zmiany
- Zmieniono oświetlenie z
Progressive CPUnaProgressive GPUw przypadku przykładów rozszerzeń ARCore Geospatial i Persistent Cloud Anchors dla AR Foundation w Unity w AR Foundation 6. - Sprawdziliśmy, czy ta wersja ARCore jest zgodna z Androidem 16 MR1.
Nowości w ARCore w wersji 1.51.0
Inne zmiany
Zaktualizowano wartość
minSdkVersionw przykładowych kodach Java „SharedCamera” i „RawDepth” do 23.Zaktualizowaliśmy przykład hello_ar_vulkan_c, aby był w pełni funkcjonalną aplikacją, która demonstruje pełną implementację Vulkan kluczowych funkcji ARCore. Obejmuje funkcje zaprezentowane w hello_ar_c i okluzję płaszczyzny.
Nowości w ARCore w wersji 1.50.0
Zmiany w targetSdkVersion pakietu ARCore SDK
targetSdkVersion ARCore zostało zaktualizowane do poziomu interfejsu API Androida 36. Jeśli Twoja aplikacja nie określatargetSdkVersion, targetSdkVersion aplikacji zmieni się na 36 z powodu scalania manifestu.
W przypadku Unity określenie docelowego poziomu API w Ustawieniach projektu > Odtwarzacz > Android > Inne ustawienia w projekcie Unity zastąpi wartość ARCoretargetSdkVersion.
Nowości w ARCore w wersji 1.49.0
Poprawki błędów i ulepszenia działania aplikacji
Nowości w ARCore w wersji 1.48.0
Pełna obsługa Unity 6 i AR Foundation 6
Rozszerzenia ARCore dla AR Foundation w Unity obsługują teraz AR Foundation 6. Aby uzyskać zgodną wersję ARCore Extensions for AR Foundation, skorzystaj z tych metod instalacji:
- Przez
Add package from git url...: użyjhttps://github.com/google-ar/arcore-unity-extensions.git#arf6, - W przypadku
Add package from tarball...: użyj wersji oznaczonej symbolemarf6ze strony z wersjami.
Aby przejść z AR Foundation 5 na AR Foundation 6, zapoznaj się z tym przewodnikiem.
Zmiany powodujące niezgodność i zmiany w działaniu
- Pakiet SDK nie obsługuje już docelowych platform wdrożenia w przypadku wersji iOS starszych niż 13.0.
Nowości w ARCore w wersji 1.47.0
Wersja beta obsługi Unity 6 i AR Foundation 6
Rozszerzenia ARCore dla AR Foundation w Unity obsługują teraz w wersji beta AR Foundation 6, co zapewnia obsługę Unity 6. Aby uzyskać zgodną wersję ARCore Extensions for AR Foundation, skorzystaj z tych metod instalacji:
- Przez
Add package from git url...: użyjhttps://github.com/google-ar/arcore-unity-extensions.git#arf6, - W przypadku
Add package from tarball...: użyj wersji oznaczonej symbolemarf6ze strony z wersjami.
Aby przejść z AR Foundation 5 na AR Foundation 6, zapoznaj się z tym przewodnikiem.
Poprawki błędów
- Naprawiono problem z przezroczystością płaszczyzny w przykładzie Cloud Anchor w Unity 6
Inne zmiany
- Gałąź
mainrepozytorium GitHub ARCore Extensions została przełączona na śledzenie gałęziarf5.
Nowości w ARCore w wersji 1.46.0
Zmiany w targetSdkVersion pakietu ARCore SDK
targetSdkVersion ARCore zostało zaktualizowane do poziomu interfejsu API Androida 35. Jeśli Twoja aplikacja nie określatargetSdkVersion, jej targetSdkVersion zmieni się na 35 z powodu scalania manifestu.
W przypadku Unity określenie docelowego poziomu API w Ustawieniach projektu > Odtwarzacz > Android > Inne ustawienia w projekcie Unity zastąpi wartość ARCoretargetSdkVersion.
Nowości w ARCore w wersji 1.45.0
Flash Mode API
ARCore obsługuje teraz włączanie trybu latarki na urządzeniu, co zapewnia lepsze możliwości percepcji w ciemnym otoczeniu.
Android (Kotlin/Java)
Config.FlashMode: opcja konfiguracji umożliwiająca włączenie lub wyłączenie lampy błyskowej na urządzeniu.- Więcej informacji o wykrywaniu możliwości lampy błyskowej i włączaniu trybu latarki znajdziesz w przewodniku dla programistów.
Android NDK (C)
ArFlashMode: opcja konfiguracji umożliwiająca włączenie lub wyłączenie lampy błyskowej na urządzeniu.- Więcej informacji o wykrywaniu możliwości lampy błyskowej i włączaniu trybu latarki znajdziesz w przewodniku dla programistów.
Rozszerzenia ARCore dla AR Foundation w Unity obsługują AR Foundation 5
Rozszerzenia ARCore dla AR Foundation oficjalnie obsługują teraz AR Foundation 5. Jeśli używasz AR Foundation 5 (zweryfikowanej wersji w Unity w wersjach 2022 i 2023), zastosuj te metody instalacji, aby uzyskać zgodną wersję ARCore Extensions for AR Foundation:
- Przez
Add package from git url...: użyjhttps://github.com/google-ar/arcore-unity-extensions.git#arf5, - W sekcji
Add package from tarball...: użyj wersji oznaczonej symbolemarf5ze strony z wersjami.
Projekty, które nadal korzystają z AR Foundation w wersji 4, mogą używać tych metod instalacji:
- Przez
Add package from git url...: użyjhttps://github.com/google-ar/arcore-unity-extensions.git#arf4, - W sekcji
Add package from tarball...: użyj wersji oznaczonej symbolemarf4ze strony z wersjami.
Aby uaktualnić projekt z AR Foundation 4 do AR Foundation 5, zapoznaj się z przewodnikiem po migracji.
Symbole skryptów niestandardowych, takie jak ARCORE_USE_ARF_5 z wersji beta, nie są już używane.
Nowości w ARCore w wersji 1.44.0
Ta wersja nie zawiera nowych funkcji.
Nowości w ARCore w wersji 1.43.0
Migracja interfejsu Places API w kreatorze obiektów geoprzestrzennych
Funkcja wyszukiwania w Geospatial Creatorze korzysta teraz z New Places API od Google. Aby korzystać z funkcji wyszukiwania, włącz „Places API (New)” w konsoli Google Cloud.
Nowości w ARCore w wersji 1.42.0
Przyciąganie do kafelka w Kreatorze obiektów geoprzestrzennych w Unity
Do panelu ARGeospatialCreatorAnchorInspektora edytora dodaliśmy przycisk „Przyciągaj do kafelka”. Ten przycisk ustawia wartość wysokości kotwicy terenu lub dachu tylko w edytorze na górę geometrii kafelka 3D na podstawie bieżącej szerokości i długości geograficznej kotwicy. Pamiętaj, że ta właściwość nie ma wpływu na działanie w czasie działania. Pomaga to dostosować pozycję kotwicy w edytorze do jej pozycji w czasie działania.
Nowości w ARCore w wersji 1.41.0
Geospatial Creator API
Kreator obiektów geoprzestrzennych w Unity obsługuje teraz tworzenie obiektów Kreatora obiektów geoprzestrzennych i manipulowanie nimi w trybie edytora. Nowo dostępne klasy i interfejsy API są opisane w przewodniku po interfejsie Kreatora obiektów geoprzestrzennych API.
Obsługa AR Foundation w wersji 5.x (beta)
Rozszerzenia ARCore dla AR Foundation w Unity obsługują teraz AR Foundation w wersji 5.x. Jeśli chcesz przenieść istniejący projekt do AR Foundation, zapoznaj się z przewodnikiem po migracji.
Nowości w ARCore w wersji 1.40.0
Semantyka sceny na iOS
Interfejs Scene Semantics API jest teraz dostępny w pakiecie ARCore SDK na iOS, a także w rozszerzeniach ARCore dla AR Foundation w Unity, które są przeznaczone na platformę iOS. Interfejs Scene Semantics API umożliwia deweloperom zrozumienie otoczenia użytkownika w czasie rzeczywistym poprzez przypisywanie pikseli do 11 klas elementów zewnętrznych. Więcej informacji znajdziesz w Wprowadzenie do semantyki scen.
iOS
Unity (AR Foundation)
Wyszukiwanie punktów orientacyjnych w Kreatorze obiektów geoprzestrzennych w Unity
Kreator obiektów geoprzestrzennych w Unity obsługuje teraz wyszukiwanie tekstowe, które umożliwia pozycjonowanie widoku fotogrametrycznych kafelków 3D. Więcej informacji znajdziesz w artykule Wyszukiwanie ważnych miejsc w Kreatorze obiektów geoprzestrzennych.
Nowości w ARCore w wersji 1.39.0
Ta wersja nie zawiera nowych funkcji.
Nowości w ARCore w wersji 1.38.0
Ta wersja nie zawiera nowych funkcji.
Nowości w ARCore w wersji 1.37.0
Semantyka sceny
Semantyka sceny dostarcza więcej szczegółów o otoczeniu, dzięki czemu użytkownik może lepiej zrozumieć świat wokół siebie. Semantyka sceny uruchamia model ML na strumieniu obrazu z kamery i dostarcza obraz semantyczny, w którym każdy piksel odpowiada jednej z 11 etykiet koncepcji zewnętrznych.
Więcej informacji znajdziesz w artykule Wprowadzenie do semantyki sceny oraz w przykładowej aplikacji semantics_java.
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
iOS
Geometria krajobrazu ulicznego
Streetscape Geometry to nowy interfejs ARCore Geospatial API, który po włączeniu interfejsu Geospatial API udostępnia geometrię budynków i terenu w obszarze wokół użytkownika.
Android (Kotlin/Java)
Zapoznaj się z przewodnikiem dla programistów dotyczącym geometrii Streetscape (Kotlin/Java). Dodatkowo zaktualizowaliśmy przykładową aplikację geospatial_java, aby uwzględnić geometrię Streetscape.
Android NDK (C)
Więcej informacji znajdziesz w przewodniku dla programistów dotyczącym geometrii Streetscape (C).
Unity (AR Foundation)
Więcej informacji znajdziesz w przewodniku dla programistów dotyczącym geometrii Streetscape (Unity).
iOS
Więcej informacji znajdziesz w przewodniku dla programistów dotyczącym geometrii Streetscape (iOS). Dodatkowo zaktualizowaliśmy aplikację GeospatialExample, aby uwzględnić w niej geometrię Streetscape.
GARStreetscapeGeometry:GARStreetscapeGeometry.meshudostępnia siatki 3D.GARStreetscapeGeometry.meshTransformudostępnia transformację początku geometrii względem przestrzeni świata sesji.GARStreetscapeGeometry.trackingStateutrzymuje stan śledzenia.GARStreetscapeGeometry.type– wskazuje, czy jest to teren, czy geometria budynku.GARStreetscapeGeometry.qualityokreśla jakość geometrii.GARStreetscapeGeometry.identifierzawiera unikalny identyfikator geometrii.GARSession.createAnchorOnStreetscapeGeometry:transform:error:tworzy kotwicę w określonej lokalizacji i orientacji.GARSession.raycastStreetscapeGeometry:direction:error:wykonuje raycasting na geometrię Streetscape załadowaną w scenie.
Punkty kotwiczenia na dachu
Kotwice na dachu to nowy typ kotwic geoprzestrzennych, który pomaga przypinać treści do dachu.
Android (Kotlin/Java)
Zobacz Kotwice geoprzestrzenne (Java). Dodatkowo przykładowa aplikacja geospatial_java została zaktualizowana, aby uwzględniać kotwice na dachu.
Android NDK (C)
Więcej informacji znajdziesz w sekcji Kotwice geoprzestrzenne (C).
Unity (AR Foundation)
Więcej informacji znajdziesz w sekcji Kotwice geoprzestrzenne. Dodatkowo zaktualizowaliśmy przykładowy plik danych geoprzestrzennych, aby uwzględniał punkty zakotwiczenia na dachu.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()zapewnia punkt zakotwiczenia dla obiektów w scenie na określonej szerokości i długości geograficznej, wysokości nad dachem oraz orientacji.ResolveAnchorOnRooftopPromiseResolveAnchorOnRooftopResult
iOS
Więcej informacji znajdziesz w artykule Kotwice przestrzenne (iOS). Dodatkowo zaktualizowaliśmy aplikację GeospatialExample, aby uwzględnić w niej kotwice na dachu.
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:tworzy punkt zakotwiczenia na dachu w określonym miejscu, na określonej wysokości nad dachem (w metrach) i o określonej orientacji względem Ziemi.GARCreateAnchorOnRooftopFuturezawiera asynchroniczny stan rozwiązywania kotwicy na dachu.GARRooftopAnchorStateopisuje stan rozwiązywania kotwicy na dachu.
Głębokość geoprzestrzenna
Gdy w sesji ARCore w obszarach objętych VPS włączone są zarówno interfejs Depth API, jak i tryb Geometria ulic, wygenerowane obrazy głębi są ulepszane za pomocą geometrii ulic. Geometria krajobrazu miejskiego jest zintegrowana z każdym wygenerowanym obrazem głębi w zakresie do 65,535 m. Aby skorzystać z tej zalety, nie musisz wprowadzać żadnych zmian podczas wywoływania interfejsu Depth API.
Android (Kotlin/Java)
Więcej informacji znajdziesz w artykule Geospatial Depth (Java).
Android NDK (C)
Więcej informacji znajdziesz w sekcji Geospatial Depth (C).
Unity (AR Foundation)
Więcej informacji znajdziesz w sekcji Geospatial Depth (C).
iOS
Semantyka sceny jest obecnie niedostępna na urządzeniach z iOS.
Obsługa renderowania za pomocą interfejsu Vulkan
ARCore obsługuje teraz renderowanie w Vulkanie, udostępniając obraz z kamery za pomocą AHardwareBuffer. Możesz użyć tego bufora sprzętowego, wiążąc go z obiektem VkImage.
Więcej informacji znajdziesz w artykule Renderowanie aplikacji ARCore za pomocą Vulkan i w przykładowej aplikacji hello_ar_vulkan_c.
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Renderowanie za pomocą interfejsu Vulkan nie jest obecnie dostępne w przypadku Unity z użyciem AR Foundation.
Elektroniczna stabilizacja obrazu (EIS)
Możesz skonfigurować ARCore tak, aby korzystał z elektronicznej stabilizacji obrazu, która wygładza klatki z kamery, co zwiększa komfort użytkownika.
Więcej informacji znajdziesz w artykule Włączanie elektronicznej stabilizacji obrazu oraz w przykładowej aplikacji hello_eis_kotlin.
Android (Kotlin/Java)
Config.ImageStabilizationModeFrame.transformCoordinates3d()Session.isImageStabilizationModeSupported()- Występuje znany problem, w którym wywołanie funkcji
Frame.transformCoordinates3d()ze współrzędnymi 2D innymi niżOPENGL_NORMALIZED_DEVICE_COORDINATESpowoduje awarię zamiast zgłoszenia błęduIllegalArgumentException. Ten problem zostanie rozwiązany w kolejnej wersji.
Android NDK (C)
ArImageStabilizationModeArFrame_transformCoordinates3d()ArSession_isImageStabilizationModeSupported()- Występuje znany problem, w którym wywołanie funkcji
ArFrame_transformCoordinates3d()ze współrzędnymi 2D innymi niżAR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATESspowoduje przerwanie działania aplikacji zamiast zwrócenia wartościAR_ERROR_INVALID_ARGUMENT. Ten problem zostanie rozwiązany w kolejnej wersji.
Unity (AR Foundation)
EIS nie jest obecnie dostępny w przypadku Unity z użyciem AR Foundation.
iOS
EIS nie jest obecnie dostępny na urządzeniach z iOS.
Asynchroniczne interfejsy API ARCore
W tej wersji wprowadziliśmy nowe asynchroniczne interfejsy API ARCore, które zwiększają wygodę pracy z operacjami asynchronicznymi zgodnie z paradygmatem Future i Promise.
Android (Kotlin/Java)
- Rozwiązywanie problemów z kotwicami terenu: użyj
Earth.resolveAnchorOnTerrainAsync(), aby uzyskaćResolveAnchorOnTerrainFuture. Stary symbolEarth.resolveAnchorOnTerrain()został wycofany i może zostać usunięty w późniejszej wersji ARCore. - Rozwiązywanie kotwic w chmurze: użyj
Session.resolveCloudAnchorAsync(), aby uzyskaćResolveCloudAnchorFuture. Stary symbolSession.resolveCloudAnchor()został wycofany i może zostać usunięty w późniejszej wersji ARCore. - Hostowanie kotwic w chmurze: użyj
Session.hostCloudAnchorAsync(), aby uzyskaćHostCloudAnchorFuture. Stare symboleSession.hostCloudAnchor()iSession.hostCloudAnchorWithTtl()zostały wycofane i mogą zostać usunięte w późniejszej wersji ARCore. - Sprawdź dostępność pakietu APK: użyj
ArCoreApk.checkAvailabilityAsync(), aby zarejestrować wywołanie zwrotne. Stary symbolArCoreApk.checkAvailability()nie został wycofany.
Android NDK (C)
- Rozwiązywanie problemów z kotwicami terenu: użyj
ArEarth_resolveAnchorOnTerrainAsync(), aby uzyskaćArResolveAnchorOnTerrainFuture, lub użyjArResolveAnchorOnTerrainCallback. Stary symbolArEarth_resolveAndAcquireNewAnchorOnTerrain()został wycofany i może zostać usunięty w późniejszej wersji ARCore. - Rozwiązywanie kotwic w chmurze: użyj
ArSession_resolveCloudAnchorAsync(), aby uzyskaćArResolveCloudAnchorFuture, lub użyjArResolveCloudAnchorCallback. Stary symbolArSession_resolveAndAcquireNewCloudAnchor()został wycofany i może zostać usunięty w późniejszej wersji ARCore. - Hostowanie kotwic w chmurze: użyj
ArSession_hostCloudAnchorAsync(), aby uzyskaćArHostCloudAnchorFuture, lub użyjArHostCloudAnchorCallback. Stare symboleArSession_hostAndAcquireNewCloudAnchor()iArSession_hostAndAcquireNewCloudAnchorWithTtl()zostały wycofane i mogą zostać usunięte w późniejszej wersji ARCore. - Sprawdź dostępność pakietu APK: użyj
ArCoreApk_checkAvailabilityAsync(), aby zarejestrować wywołanie zwrotne. Stary symbolArCoreApk_checkAvailability()nie został wycofany.
Unity (AR Foundation)
- Rozwiązywanie problemów z kotwicami terenu: użyj
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync(), aby uzyskaćResolveAnchorOnTerrainPromise. Stary symbolARAnchorManagerExtensions.ResolveAnchorOnTerrain()został wycofany i może zostać usunięty w późniejszej wersji ARCore. - Rozwiązywanie kotwic w chmurze: użyj
ARAnchorManagerExtensions.ResolveCloudAnchorAsync(), aby uzyskaćResolveCloudAnchorPromise. Stary symbolARAnchorManagerExtensions.ResolveCloudAnchorId()został wycofany i może zostać usunięty w późniejszej wersji ARCore. - Hostowanie kotwic w chmurze: użyj
ARAnchorManagerExtensions.HostCloudAnchorAsync(), aby uzyskaćHostCloudAnchorPromise. Stare symboleARAnchorManagerExtensions.HostCloudAnchor()zostały wycofane i mogą zostać usunięte w późniejszej wersji ARCore.
iOS
- Rozwiązywanie problemów z kotwicami terenu: użyj
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:, aby uzyskaćGARCreateAnchorOnTerrainFuture. Stary symbolGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:został wycofany i może zostać usunięty w późniejszej wersji ARCore. - Rozwiązywanie kotwic w chmurze: użyj
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:, aby uzyskaćGARResolveCloudAnchorFuture. Stary symbolGARSession.resolveCloudAnchorWithIdentifier:error:został wycofany i może zostać usunięty w późniejszej wersji ARCore. - Hostowanie kotwic w chmurze: użyj
GARSession.hostCloudAnchor:TTLDays:completionHandler:error:, aby uzyskaćGARHostCloudAnchorFuture. Stare symboleGARSession.hostCloudAnchor:error:iGARSession.hostCloudAnchor:TTLDays:error:zostały wycofane i mogą zostać usunięte w późniejszej wersji ARCore.
Nowości w ARCore w wersji 1.36.0
Obsługa menedżera pakietów Swift na iOS
Pakiet ARCore SDK na iOS oficjalnie obsługuje teraz Swift Package Manager. Instrukcje integracji z ARCore za pomocą menedżera pakietów Swift znajdziesz w artykule Włączanie AR w aplikacji na iOS.
Nowości w ARCore w wersji 1.35.0
Dokładność pozycji geoprzestrzennej zastępuje kierunek odchyleniem
Wszystkie pozycje przestrzenne udostępniają teraz dokładność orientacji obrotu wokół osi Y, zastępując dokładność kierunku.
- Java/Kotlin: zastąp
GeospatialPose.getHeading()ciągiemGeospatialPose.getEastUpSouthQuaternion(), aGeospatialPose.getHeadingAccuracy()ciągiemGeospatialPose.getOrientationYawAccuracy(). - C: Zastąp
ArGeospatialPose_getHeading()ciągiemArGeospatialPose_getEastUpSouthQuaternion(), aArGeospatialPose_getHeadingAccuracy()ciągiemArGeospatialPose_getOrientationYawAccuracy(). - iOS: zastąp
GARGeospatialTransform.headingciągiemGARGeospatialTransform.eastUpSouthQTarget, aGARGeospatialTransform.headingAccuracyciągiemGARGeospatialTransform.orientationYawAccuracy. - Unity: zamień
GeospatialPose.HeadingnaGeospatialPose.EunRotationiGeospatialPose.HeadingAccuracynaGeospatialPose.OrientationYawAccuracy.
Dodatkowe zmiany i aktualizacje
Więcej informacji o innych zmianach, poprawkach błędów i usprawnieniach znajdziesz w informacjach o wersji:
- Informacje o wersjach pakietu ARCore SDK na Androida
- Informacje o wersji ARCore na Androida NDK
- Informacje o wersji pakietu ARCore SDK na iOS
- Informacje o wersji rozszerzeń ARCore dla AR Foundation
Nowości w ARCore w wersji 1.34.0
Sprawdzanie, czy funkcje geoprzestrzenne są dostępne w bieżącej lokalizacji urządzenia
Interfejs Geospatial API może teraz w czasie działania sprawdzać dostępność systemu pozycjonowania wizualnego (VPS) w określonej pozycji poziomej. Ten interfejs API może być używany bez aktywnej sesji AR, np. do wyświetlania przycisku „Wejdź w AR” tylko wtedy, gdy dostępny jest VPS.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync() - C:
ArSession_checkVpsAvailabilityAsync() - iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler: - Unity (AR Foundation):
AREarthManager.CheckVpsAvailability()
Orientacja pozycji geoprzestrzennej
Pozycje geoprzestrzenne uwzględniają teraz orientację w przestrzeni 3D.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion() - C:
ArEarth_getGeospatialPose() - iOS:
GARGeospatialTransform.eastUpSouthQTarget - Unity:
GeospatialPose.EunRotation()
Konwersje dotyczące pozycji geoprzestrzennej
Pozycje geoprzestrzenne można teraz przekształcać w pozycje w przestrzeni świata (AR) i odwrotnie.
Aby uzyskać pozę geoprzestrzenną z pozy AR:
- Java/Kotlin:
Earth.getGeospatialPose() - C:
ArEarth_getGeospatialPose() - iOS:
GARSession.geospatialTransformFromTransform:error: - Unity:
AREarthManager.Convert(Pose)
Aby uzyskać pozę AR z pozy geoprzestrzennej:
- Java/Kotlin:
Earth.getPose() - C:
ArEarth_getPose() - iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error: - Unity:
AREarthManager.Convert(GeospatialPose)
Pozycje geoprzestrzenne uzyskane za pomocą tych funkcji mają wartość kierunku ustawioną na zero. Zamiast tego użyj tych ustawień:
- Android (Java/Kotlin/C): kwaternion EUS pozycji
- iOS: pozycja
eastUpSouthQTarget - Unity:
EunRotationpozycji
Dodatkowe zmiany i aktualizacje
Więcej informacji o innych zmianach, poprawkach błędów i usprawnieniach znajdziesz w informacjach o wersji:
- Informacje o wersjach pakietu ARCore SDK na Androida
- Informacje o wersji ARCore na Androida NDK
- Informacje o wersji pakietu ARCore SDK na iOS
- Informacje o wersji rozszerzeń ARCore dla AR Foundation
Nowości w ARCore w wersji 1.33.0
Nowy punkt końcowy Cloud Anchors
- Aby korzystać z kotwic Cloud, musisz włączyć ARCore API zamiast starszego ARCore Cloud Anchor API, który jest obecnie wycofany. Aby obsługiwać starsze wersje aplikacji, podczas przechodzenia na nową wersję możesz włączyć obie opcje. Aplikacje utworzone za pomocą ARCore SDK w wersji 1.32.0 lub starszej będą kierowane na starszy interfejs API, a aplikacje utworzone za pomocą ARCore SDK w wersji 1.33.0 lub nowszej będą kierowane na nowy interfejs API. Uwaga:
- Nowy interfejs API używa nazwy domeny
arcore.googleapis.comzamiastarcorecloudanchor.googleapis.com. - Jeśli używasz klucza interfejsu API, który jest ograniczony przez interfejs API, musisz zezwolić na interfejs ARCore API.
- Jeśli wysyłasz żądania do interfejsu ARCore Cloud Anchor Management API z backendu, po włączeniu interfejsu ARCore API musisz też zmienić nazwę domeny na
arcore.googleapis.com. - Stary interfejs API lub punkt końcowy będzie nadal obsługiwany do sierpnia 2023 r.
- Więcej informacji znajdziesz w artykule Zmiany w punkcie końcowym kotwic w chmurze ARCore 1.33.
- Nowy interfejs API używa nazwy domeny
Kotwice terenu
- Interfejs Geospatial Terrain anchor API tworzy kotwicę w określonym położeniu poziomym i na określonej wysokości względem terenu w tym położeniu.
Dodatkowe zmiany i aktualizacje
Więcej informacji o innych zmianach, poprawkach błędów i usprawnieniach znajdziesz w informacjach o wersji:
- Informacje o wersjach pakietu ARCore SDK na Androida
- Informacje o wersji ARCore na Androida NDK
- Informacje o wersji pakietu ARCore SDK na iOS
- Informacje o wersji rozszerzeń ARCore dla AR Foundation
Nowości w ARCore w wersji 1.32.0
Ta wersja nie zawiera nowych funkcji.
Android i Unity (AR Foundation) na Androida
- ARCore w wersji
targetSdkVersionzostał zaktualizowany do poziomu 32 interfejsu API Androida. Jeśli Twoja aplikacja nie określatargetSdkVersion, jejtargetSdkVersionzostanie ustawiony na 32 z powodu scalania manifestu.- Pakiet SDK na Androida: określenie wartości
targetSdkVersionw plikubuild.gradlelubAndroidManifest.xmlw projekcie spowoduje zastąpienie wartościtargetSdkVersionw ARCore. - AR Foundation na Androida: określenie docelowego poziomu interfejsu API w Ustawieniach projektu > Odtwarzacz > Android > Inne ustawienia w projekcie Unity zastąpi wartość
targetSdkVersionARCore.
- Pakiet SDK na Androida: określenie wartości
Dodatkowe zmiany i aktualizacje
Więcej informacji o innych zmianach, poprawkach błędów i usprawnieniach znajdziesz w informacjach o wersji:
- Informacje o wersjach pakietu ARCore SDK na Androida
- Informacje o wersji ARCore na Androida NDK
- Informacje o wersji pakietu ARCore SDK na iOS
- Informacje o wersji rozszerzeń ARCore dla AR Foundation
Nowości w ARCore w wersji 1.31.0
ARCore Geospatial API
Nowy interfejs ARCore Geospatial API wykorzystuje dane z modeli 3D Google Earth i zdjęcia Street View z Map Google, aby umożliwić Twojej aplikacji tworzenie imersyjnych projektów rzeczywistości rozszerzonej na dużą skalę, opartych na lokalizacji.
Aby zapoznać się z dokumentacją dla programistów dotyczącą poszczególnych platform i zacząć korzystać z nowego interfejsu Geospatial API, przeczytaj wprowadzenie do interfejsu ARCore Geospatial API.
Głębokość dalekiego zasięgu
Interfejs ARCore Depth API został zoptymalizowany pod kątem wykrywania głębi na większych odległościach, co zwiększa zakres reprezentowanych obserwacji głębi. Wykorzystywane są wszystkie 16 bitów obrazu głębi, co zapewnia maksymalny zakres 65 535 milimetrów. Wcześniej wypełnionych było tylko 13 bitów, a limit wynosił 8191 milimetrów.
Więcej informacji o zmianach w interfejsie Depth API znajdziesz w dokumentacji dla deweloperów dotyczącej zmian w interfejsie Depth na poszczególnych platformach.
Uwagi dotyczące konkretnych platform
Android
Nowe interfejsy ARCore Geospatial API
Java
Earthumożliwia lokalizację w kojarzonych z Ziemią współrzędnych.Earth.createAnchor()tworzy nowyAnchorw określonej lokalizacji i orientacji względem Ziemi.
Earth.Earthstateopisuje bieżący stanEarth, w tym jegoTrackingState.GeospatialPoseopisuje konkretną lokalizację, wysokość i kierunek kompasu względem Ziemi.
C
ArEarthumożliwia lokalizację we współrzędnych względnych względem Ziemi.ArEarth_acquireNewAnchor()tworzy nowyAnchorw określonej lokalizacji i orientacji względem Ziemi.ArEarthStateopisuje bieżący stanArEarth, w tym jegoArTrackingState.
ArGeospatialPoseopisuje konkretną lokalizację, wysokość i kierunek kompasu względem Ziemi.
Zaktualizowane interfejsy ARCore Depth API
Java
- Wywołania funkcji Depth API uległy zmianie:
Frame.acquireDepthImageużytkownikowiFrame.acquireDepthImage16Bits.Frame.acquireRawDepthImageużytkownikowiFrame.acquireRawDepthImage16Bits.- Formaty obrazów wyjściowych w obu wywołaniach zostały zmienione z
android.graphics.ImageFormat#DEPTH16naandroid.hardware.HardwareBuffer#D_16. - Głębokość jest nadal reprezentowana jako 16-bitowa liczba całkowita w milimetrach, ale teraz wszystkie 16 bitów jest używanych do reprezentowania głębokości, co pozwala na zwiększenie maksymalnego zakresu wyrażania z 8191 mm do 65 535 mm.
- Wywołania funkcji Depth API
Frame.acquireDepthImageiFrame.acquireRawDepthImagezostały wycofane. Zamiast niej użyj zasadFrame.acquireDepthImage16BitsiFrame.acquireRawDepthImage16Bits.
- Wywołania funkcji Depth API uległy zmianie:
C
- Wywołania funkcji Depth API uległy zmianie:
ArFrame_acquireDepthImageużytkownikowiArFrame_acquireDepthImage16Bits.- Od
ArFrame_acquireRawDepthImagedoArFrame_acquireRawDepthImage16Bits - Formaty obrazów wyjściowych w obu wywołaniach zostały zmienione z
AR_IMAGE_FORMAT_DEPTH16naAR_IMAGE_FORMAT_D_16. - Głębokość jest nadal reprezentowana jako 16-bitowa liczba całkowita w milimetrach, ale teraz wszystkie 16 bitów jest używanych do reprezentowania głębokości, co pozwala na zwiększenie maksymalnego zakresu wyrażania z 8191 mm do 65 535 mm.
- Wywołania funkcji Depth API
ArFrame_acquireDepthImageiArFrame_acquireRawDepthImagezostały wycofane. Zamiast nich używajArFrame_acquireDepthImage16BitsiArFrame_acquireRawDepthImage16Bits.
- Wywołania funkcji Depth API uległy zmianie:
Unity (AR Foundation)
Nowe interfejsy ARCore Geospatial API:
AREarthManagerumożliwia lokalizację we współrzędnych względnych względem Ziemi.EarthTrackingStatepobiera stan śledzenia Ziemi dla ostatniej klatki.EarthStateutrzymuje warunki błędu w Google Earth.
GeospatialPoseopisuje konkretną lokalizację, wysokość i kierunek kompasu względem Ziemi.ARGeospatialAnchorzapewnia punkt zakotwiczenia dla obiektów w scenie, określony w lokalizacji i orientacji względem Ziemi.
iOS
Nowe interfejsy ARCore Geospatial API:
GAREarthZapewnia lokalizację względem Ziemi.GAREarthState.earthStatezarządza stanami i warunkami błędów.GAREarthState.trackingStateutrzymuje stan śledzenia wymagany w przypadku danych geoprzestrzennych.
GARGeospatialTransformReprezentacja globalnego przekształcenia obejmująca lokalizację, kierunek, wysokość i szacunki dokładności.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:Tworzy kotwicę geoprzestrzenną w określonej lokalizacji i orientacji względem Ziemi.
Inne zmiany
Więcej informacji o innych zmianach, poprawkach błędów i usprawnieniach znajdziesz w informacjach o wersji:
- Informacje o wersjach pakietu ARCore SDK na Androida
- Informacje o wersji ARCore na Androida NDK
- Informacje o wersji pakietu ARCore SDK na iOS
- Informacje o wersji rozszerzeń ARCore dla AR Foundation
Nowości w ARCore w wersji 1.30.0
Ta wersja nie zawiera nowych funkcji.
Android
- Wartości zwracane przez interfejs API z adnotacjami
@NonNulli@Nullable. - Zaktualizowano wersje narzędzi do kompilacji używanych do tworzenia próbek: Gradle do wersji 7.0.2 i wtyczkę Androida do obsługi Gradle do wersji 7.0.4. Uaktualnianie tych narzędzi nie jest wymagane w przypadku istniejących aplikacji ARCore. Informacje o nowych funkcjach, znanych problemach i niezgodnościach znajdziesz w dokumentacji Androida na temat wtyczki Androida do obsługi Gradle.
Unity (AR Foundation)
Dodano nową wersję
arcore-unity-extensions-without-edm4u.tgz. Ta wersja nie zawiera zewnętrznych zależności, takich jak External Dependency Manager for Unity, i umożliwia uaktualnianie EDM. Korzystanie z tej uproszczonej wersji może rozwiązać problemy z niezgodnością podczas używania bibliotek Firebase. Aby rozpocząć, zapoznaj się z instrukcjami instalacji rozszerzeń ARCore dla AR Foundation.Zaktualizowano ExternalDependencyManager do wersji 1.2.168, aby lepiej obsługiwać wersje 2021.2 i nowsze. Więcej informacji znajdziesz w historii zmian EDM.
Rozwiązaliśmy problem polegający na tym, że sesja ARCore była konfigurowana w każdej klatce, nawet jeśli nie było zmian w konfiguracji sesji, co powodowało spadek liczby klatek na sekundę.
iOS
- Różne poprawki błędów i ulepszenia.
Nowości w ARCore w wersji 1.29.0
Ta wersja nie zawiera nowych funkcji.
Android
- hello_ar_java i hello_ar_kotlin: zmieniono kolor obiektu po umieszczeniu go za pomocą
SCREENSPACE_WITH_APPROXIMATE_DISTANCE, aby lepiej odróżniać obiekty umieszczone za pomocą natychmiastowego umieszczania. - persistent_cloud_anchor_java: dodano brakującą zależność kompilacji do przykładu. Naprawiliśmy błąd polegający na tym, że hostowanie dowolnego punktu zakotwiczenia miało stan
CloudAnchorState ERROR_NOT_AUTHORIZED, nawet jeśli projekt był prawidłowo skonfigurowany.
Unity (AR Foundation)
- Pakiet ARCore Extensions zależy teraz od ARKit XR Plugin, aby zainstalowana wersja AR Foundation była zgodna z wersją ARKit XR Plugin. Naprawia błąd kompilacji, który pojawiał się podczas instalowania rozszerzeń ARCore w Unity 2019.x i włączania wtyczki ARKit XR.
- Ustawienia projektu ARCore Extensions zostały przeniesione z Project Settings > XR > ARCore Extensions do Project Settings > XR Plug-in Management > ARCore Extensions.
ARCoreExtensionsConfig,ARCoreExtensionsCameraConfigFilter,ARCoreRecordingConfigzostały przeniesione z menu Utwórz > XR > Rozszerzenia ARCore do menu Utwórz > XR.
iOS
- Różne poprawki błędów i ulepszenia.
Pełne informacje o wersji
- Pełne informacje o wersji pakietu ARCore SDK na Androida
- Pełne informacje o wersji ARCore na Androida NDK
- Pełne informacje o wersji pakietu ARCore SDK na iOS
- Informacje o wersji rozszerzeń ARCore dla AR Foundation
Nowości w ARCore w wersji 1.28.0
- Od listopada 2022 r. aplikacje obsługujące AR nie będą już mogły uzyskiwać obrazów NDK ani metadanych obrazów. Wersje pakietu SDK, których dotyczy problem, zależą od wywoływanej funkcji. Więcej informacji znajdziesz w ogłoszeniu o wycofaniu funkcji.
- C: wywołania funkcji
ArImage_getNdkImage()iArImage_getNdkCameraMetadata()zawsze zwracają wartośćnullptrw przypadku obiektówAImageiACameraMetadata. - Java: obiekt
Imagezwracany przezFrame#acquireCameraImage()będzie miał rozmiar0x0pikseli. Wywołania funkcjiFrame#getImageMetadata()zawsze będą zgłaszać błądIllegalArgumentException. - Unity (AR Foundation): w przypadku korzystania z AR Foundation 2.1 (Unity 2019 LTS) wywołania
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)zawsze zwracająfalse. W przypadku AR Foundation w wersji 4.x i nowszych problem nie występuje, a wywołaniaXRCameraSubsystem.TryGetLatestImage(out XRCameraImage)będą działać normalnie. - Pakiet SDK ARCore dla Unity (wycofany): wywołania
Frame.CameraImage.AcquireCameraImageBytes()będą miały rozmiar0×0pikseli. Wywołania numeruFrame.CameraMetadata.GetAllCameraMetadataTags()zwrócą pustą wartośćList<CameraMetadataTag>.
- C: wywołania funkcji
- Java:
ArImage#getCropRect()zwraca teraz prostokąt wycięcia w pełnym rozmiarze, czyli wszystkie piksele obrazu są prawidłowe. Więcej informacji znajdziesz w sekcjiandroid.media.Image#getCropRect().
Nowości w ARCore w wersji 1.27.0
Ta wersja nie zawiera nowych funkcji. W informacjach o wersji znajdziesz informacje o różnych poprawkach błędów i ulepszeniach wydajności.
- Pełne informacje o wersji pakietu ARCore SDK na Androida
- Pełne informacje o wersji ARCore na Androida NDK
- Pełne informacje o wersji pakietu ARCore SDK na iOS
- Informacje o wersji rozszerzeń ARCore dla AR Foundation
Oprócz różnych poprawek błędów ta wersja zawierała te zmiany:
Przykładowe aplikacje w języku Kotlin
Dodaliśmy przykład hello_ar_kotlin, aby pokazać sprawdzone metody korzystania z języka Kotlin.
Więcej informacji znajdziesz w krótkim wprowadzeniu do Androida.
Dodano ml_kotlin, aby pokazać, jak można używać modelu klasyfikacji obrazów z ARCore.
Więcej informacji znajdziesz w artykule Używanie ARCore jako danych wejściowych dla modeli uczenia maszynowego.
Nowości w ARCore w wersji 1.26.0
W tej wersji wprowadziliśmy te ważne zmiany:
- Identyfikatory URI są teraz obsługiwane w przypadku zbiorów danych w sekcji Nagrywanie i odtwarzanie.
Dodatkowe zmiany i aktualizacje
Dodatkowe poprawki błędów i inne zmiany powodujące niezgodność znajdziesz w tych informacjach o wersji.
- Pełne informacje o wersji pakietu ARCore SDK na Androida
- Pełne informacje o wersji ARCore na Androida NDK
- Pełne informacje o wersji pakietu ARCore SDK na iOS
- Informacje o wersji rozszerzeń ARCore dla AR Foundation
Nowości w ARCore w wersji 1.25.0
Ta wersja nie zawiera nowych funkcji. W informacjach o wersji znajdziesz informacje o różnych poprawkach błędów i ulepszeniach wydajności.
- Pełne informacje o wersji pakietu ARCore SDK na Androida
- Pełne informacje o wersji ARCore na Androida NDK
- Pełne informacje o wersji pakietu ARCore SDK na iOS
- Pełne informacje o wersji pakietu ARCore SDK na Unity
- Informacje o wersji rozszerzeń ARCore dla AR Foundation
Nowości w ARCore w wersji 1.24.0
W tej wersji wprowadziliśmy te ważne zmiany:
- Nowy interfejs Raw Depth API, który udostępnia obraz głębi bez filtrowania w przestrzeni obrazu.
- Możliwość nagrywania niestandardowych ścieżek danych w interfejsie Recording & Playback API
- możliwość przeprowadzania testów głębi,
Raw Depth
Interfejs Raw Depth API udostępnia dane o głębi obrazu z kamery, które są dokładniejsze niż dane z interfejsu Full Depth API, ale nie zawsze obejmują wszystkie piksele. Obrazy głębi w formacie RAW wraz z odpowiadającymi im obrazami ufności można też dalej przetwarzać, co pozwala aplikacjom używać tylko danych o głębi, które są wystarczająco dokładne w danym przypadku użycia.
Przewodniki dla programistów:
- Android (Java/Kotlin)
- Android NDK (C)
- Rozszerzenia ARCore dla AR Foundation
- Pakiet ARCore SDK na Unity
Nagrywanie ścieżki niestandardowej
Nowa funkcja śledzenia danych niestandardowych w interfejsie Recording & Playback API umożliwia dodawanie danych niestandardowych do klatki ARCore podczas nagrywania i pobieranie tych samych danych z klatki podczas odtwarzania.
Przewodniki dla programistów:
- Android (Java/Kotlin)
- Android NDK (C)
- Rozszerzenia ARCore dla AR Foundation
- Pakiet ARCore SDK na Unity
Testy interakcji z głębokością
Wcześniej testy trafień można było przeprowadzać tylko na wykrytych płaszczyznach, co ograniczało lokalizacje do dużych, płaskich powierzchni. Testy głębi wykorzystują zarówno wygładzone, jak i surowe informacje o głębi, aby zapewnić dokładniejsze wyniki, nawet na powierzchniach niepłaskich i o niskiej teksturze.
Przewodniki dla programistów:
Dodatkowe zmiany i aktualizacje
Dodatkowe poprawki błędów i inne zmiany powodujące niezgodność znajdziesz w tych informacjach o wersji.
- Pełne informacje o wersji pakietu ARCore SDK na Androida
- Pełne informacje o wersji ARCore na Androida NDK
- Pełne informacje o wersji pakietu ARCore SDK na iOS
- Pełne informacje o wersji pakietu ARCore SDK na Unity
- Informacje o wersji rozszerzeń ARCore dla AR Foundation
Nowości w ARCore w wersji 1.23.0
Oczekiwanie na obsługę obrazu z obu aparatów
Obsługa obrazu z obu aparatów zostanie wprowadzona w najbliższych tygodniach. Więcej informacji znajdziesz na stronie obsługiwane urządzenia.
Nowe narzędzia do debugowania
Wysyłając intencję transmisji, deweloperzy mogą włączyć:
Rejestrowanie wywołań interfejsu ARCore API w dzienniku debugowania Androida
Nakładka wydajności ARCore
Hostowanie i rozwiązywanie kotwic Cloud
Aplikacje obsługujące AR utworzone przy użyciu pakietu ARCore SDK w wersji 1.11.0 lub starszej nie mogą już hostować ani rozwiązywać kotwic w chmurze.
C: Kotwice Cloud zwracane przez
ArSession_hostAndAcquireNewCloudAnchoriArSession_resolveAndAcquireNewCloudAnchorzawsze będą miały stanAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL.Java: kotwice Cloud zwracane przez
Session.hostCloudAnchor(Anchor)iSession.resolveCloudAnchor(String)zawsze będą miały stanAnchor.CloudAnchorState.ERROR_INTERNAL.Unity: kotwice w chmurze zwracane przez funkcje
XPSession.CreateCloudAnchor(Anchor)iXPSession.ResolveCloudAnchor(string)zawsze mają stanCloudServiceResponse.ErrorInternal.
Nie ma to wpływu na aplikacje utworzone za pomocą pakietu ARCore SDK w wersji 1.12.0 lub nowszej. Korzystanie z interfejsu ARCore Cloud Anchor API podlega zasadom wycofywania.
Dodatkowe zmiany i aktualizacje
Więcej informacji o poprawkach błędów i innych zmianach znajdziesz w tych informacjach o wersji.
Nowości w ARCore w wersji 1.22.0
W tej wersji dodaliśmy nowe interfejsy Recording and Playback API oraz interfejsy Camera Config Filter API dla ARCore Extensions for AR Foundation. Szczegółowe informacje znajdziesz w pełnej liście zmian w ARCore Extensions.
Dodatkowe zmiany i aktualizacje
Więcej informacji o poprawkach błędów i innych zmianach znajdziesz w tych informacjach o wersji.
Nowości w ARCore w wersji 1.21.0
Ta wersja zawiera nowe interfejsy API nagrywania i odtwarzania dla Android, Androida NDK i Unity.
Nagrywanie i odtwarzanie
Za pomocą interfejsów Recording API i Playback API możesz nagrać wideo i dane AR w danym środowisku, a następnie użyć tych treści do zastąpienia sesji z kamery na żywo na potrzeby testów. ARCore zapisuje nagrane sesje w plikach MP4, które zawierają wiele ścieżek wideo i inne dane na urządzeniu. Następnie możesz skonfigurować aplikację tak, aby używała tych danych zamiast sesji z kamerą na żywo. Dzięki temu możesz odtwarzać te treści w nieskończoność, aby wypróbować różne efekty AR bez konieczności powrotu na miejsce.
Szczegółowe informacje:
Java:
C:
Unity:
Nowości w ARCore w wersji 1.20.0
W tej wersji wprowadziliśmy te ważne zmiany:
Nowa obsługa trwałych kotwic Cloud.
Zaktualizowane funkcje metadanych obrazu na Androidzie i Androidzie NDK.
Nowe wskazówki wymagające Gradle w wersji 5.6.4 lub nowszej, aby obsługiwać rozszerzenia ARCore dla AR Foundation lub pakiet SDK ARCore dla Unity (w wersji 1.19 lub nowszej) z Unity w wersji 2018.4 lub nowszej.
Nowa obsługa trwałych kotwic Cloud
Przed wprowadzeniem ARCore w wersji 1.20 kotwice w chmurze można było rozwiązywać tylko przez 24 godziny od pierwszego hostowania. Dzięki trwałym kotwicom Cloud możesz teraz tworzyć kotwice Cloud z czasem życia (TTL) od 1 do 365 dni. Możesz też przedłużyć okres istnienia kotwicy po jej hostowaniu za pomocą interfejsu Cloud Anchor Management API.
Korzystanie z trwałych kotwic Cloud podlega nowym zasadom wycofywania kotwic Cloud.
C: Przewodnik dla programistów,
ArSession_hostAndAcquireNewCloudAnchorWithTtliArSession_estimateFeatureMapQualityForHosting.Java: Przewodnik dla programistów,
hostCloudAnchorWithTtliestimateFeatureMapQualityForHosting.iOS: Przewodnik dla programistów,
hostCloudAnchor:TTLDays:error:iestimateFeatureMapQualityForHosting:.Rozszerzenia ARCore dla AR Foundation: przewodnik dla programistów na Androida, przewodnik dla programistów na iOS,
ARAnchorManager.HostCloudAnchor(ARAnchor, int),ARAnchorManager.SetAuthToken(string)iARAnchorManager.EstimateFeatureMapQualityForHosting(Pose).Określanie kierowania w Unity na Androida: przewodnik dla deweloperów,
XPSession.CreateCloudAnchor(Anchor, int)iXPSession.EstimateFeatureMapQualityForHosting(Pose).Kierowanie na iOS w Unity: przewodnik dla programistów,
XPSession.SetAuthToken(string)iXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int).
Dodatkowe zmiany i aktualizacje
Więcej informacji o poprawkach błędów i innych zmianach znajdziesz w tych informacjach o wersji.
Nowości w ARCore w wersji 1.19.0
W tej wersji wprowadziliśmy te ważne zmiany:
- Nowy interfejs Instant Placement API na Android, Androida NDK i Unity.
- Nowe wskazówki dotyczące tworzenia aplikacji na Androida 11 w Unity.
Błyskawiczne umieszczanie
Interfejs Instant Placement API umożliwia użytkownikowi umieszczenie obiektu AR na ekranie bez konieczności czekania, aż ARCore wykryje geometrię powierzchni. Umieszczenie obiektu jest dopracowywane w czasie rzeczywistym, gdy użytkownik porusza się po otoczeniu. Gdy ARCore wykryje prawidłową pozycję w regionie, w którym znajduje się obiekt AR, biały obiekt automatycznie zaktualizuje się, aby odzwierciedlać pozycję, i stanie się nieprzezroczysty.
Poniższy klip przedstawia wirtualną figurkę Androida na prawdziwym stole. Po pierwszym umieszczeniu jest biała i znacznie mniejsza. Gdy ARCore dopracuje obliczenia wymiarów sceny, postać przeskoczy w bardziej precyzyjne miejsce. Może to spowodować różnicę w postrzeganej „wielkości” obiektu.
Szczegółowe informacje:
Urządzenia z Androidem:
Android NDK:
Unity:
Nowości w ARCore w wersji 1.18.0
W tej wersji wprowadziliśmy te ważne zmiany:
- Nowy interfejs Depth API na Android, Androida NDK i Unity.
- Nowe wskazówki dotyczące tworzenia komponentów rozszerzonych twarzy i importowania ich do Androida Studio.
- Interfejs Depth API będzie obsługiwany w
4.1.0-preview.2zarówno w przypadkuAR Foundation, jak iARCore XR Plugin.
Depth API
Na urządzeniach obsługujących głębię interfejs Depth API używa kamery RGB urządzenia obsługującego ARCore lub aktywnego czujnika głębi (jeśli jest dostępny) do tworzenia map głębi. Możesz wtedy użyć głębi poszczególnych pikseli podanej przez mapę głębi, aby wirtualne obiekty były wyświetlane przed obiektami z rzeczywistego świata lub za nimi, co zapewnia wciągające i realistyczne wrażenia.
Na przykład na tych obrazach widać wirtualną figurkę Androida w rzeczywistym pomieszczeniu z walizką obok drzwi. Interfejs Depth API prawidłowo zasłania postać za krawędzią pnia.
Szczegółowe informacje:
Urządzenia z Androidem:
Android NDK:
Unity:
Nowości w ARCore w wersji 1.17.0
Najważniejsze informacje o pakiecie ARCore SDK na Androida
Dodaliśmy nowe metody, które umożliwiają buforowanie wielu klatek z kamery. Wraz z innymi technikami, takimi jak renderowanie wielowątkowe, można jej używać do zmniejszania zmienności liczby klatek na sekundę.
Dodano brakujące zastosowanie czujnika głębi i funkcje pobierające docelową liczbę klatek na sekundę:
Zapoznaj się też z pełnymi informacjami o wersji pakietu Android SDK.
Najważniejsze informacje o pakiecie ARCore SDK na Unity
- Dodano obsługę renderowania wielowątkowego w Unity w wersji 2018.2 lub nowszej, co w większości przypadków zwiększy wydajność i może pomóc zmniejszyć zmienność liczby klatek na sekundę. Jest to ustawienie projektu Unity, które znajdziesz w sekcji Ustawienia projektu > Odtwarzacz > Android > Inne ustawienia > Renderowanie wielowątkowe. Szczegółowe informacje znajdziesz w przewodniku dla programistów.
- Dodaliśmy stany
SessionStatus.ErrorCameraNotAvailableiSessionStatus.ErrorIllegalState, aby wskazać konkretne stany błędu sesji ARCore.
Zapoznaj się też z pełną listą zmian w pakiecie ARCore SDK dla Unity.
Najważniejsze informacje o pakiecie ARCore SDK na iOS
Rozmiar binarny pakietu Cloud Anchors SDK został znacznie zmniejszony.
Bitcode jest teraz obsługiwany w przypadku rozszerzonych twarzy.
Zapoznaj się też z pełnymi informacjami o wersji pakietu ARCore SDK na iOS.
Nowości w ARCore w wersji 1.16.0
Ważne informacje dotyczące pakietu ARCore SDK na Androida i pakietu Sceneform SDK na Androida
W tej wersji wprowadziliśmy te ważne zmiany:
- Większość urządzeń zwraca teraz dodatkowe obsługiwane konfiguracje aparatu o niższych rozdzielczościach tekstur GPU niż domyślna rozdzielczość tekstur GPU urządzenia.
Więcej informacji znajdziesz w sekcji Urządzenia obsługujące ARCore.
Te rozszerzone rozdzielczości procesora graficznego są dostępne w interfejsie
getSupportedCameraConfigs(CameraConfigFilter)API.
Zobacz także:
Ważne informacje o rozszerzeniach ARCore dla AR Foundation
W tej wersji wprowadziliśmy te ważne zmiany:
XRCameraConfigurationAR Foundation jest rozszerzone o metody, które umożliwiają wybór odpowiedniej konfiguracji kamery na podstawie wybranych kryteriów. Obejmują one metody GetTextureDimensions(), GetFPSRange() i GetDepthSensorUsages(). Szczegółowe instrukcjeUnity 2019.3.0f6 to teraz minimalna zalecana wersja rozszerzeń ARCore. AR Foundation 3.1.0-preview.6 wymaga Unity w wersji 2019.3 lub nowszej.
Unity używa teraz terminów Anchor, Cloud Anchor i Cloud Anchor ID w swoim interfejsie API AR na wielu platformach. Zaktualizowaliśmy dokumentację rozszerzeń ARCore, aby odzwierciedlała tę zmianę.
Zobacz także:
Najważniejsze informacje o pakiecie ARCore SDK na Unity
W tej wersji wprowadziliśmy następującą ważną zmianę:
- Większość urządzeń zwraca teraz dodatkowe obsługiwane konfiguracje aparatu o niższych rozdzielczościach tekstur GPU niż domyślna rozdzielczość tekstur GPU urządzenia. (Szczegółowe informacje znajdziesz w sekcji Urządzenia obsługujące ARCore). Te rozszerzone rozdzielczości GPU są dostępne w interfejsie ARCoreCameraConfigFilter API.
Zobacz także:
Pełne informacje o wersji pakietu ARCore SDK na Unity
Nowości w ARCore w wersji 1.15.0
Ważne informacje o rozszerzeniach ARCore dla AR Foundation
W tej wersji wprowadziliśmy te ważne zmiany:
Dodano przykład CloudAnchors pokazujący, jak tworzyć wspólne środowiska AR na Androida i iOS. Zobacz instrukcje dla Android lub iOS.
Unity 2019.2.17f1 to teraz minimalna zalecana wersja do używania z rozszerzeniami ARCore.
Pełne informacje o wersji rozszerzeń ARCore
Najważniejsze informacje o pakiecie ARCore SDK na Unity
W tej wersji występują te znane problemy.
Podgląd natychmiastowy może zawieszać Unity, gdy używasz Androida 9 i kabla USB 3. Aby rozwiązać ten problem, zaktualizuj Androida do wersji 10 lub użyj kabla USB 2.
Podgląd natychmiastowy może nie wyświetlać się na urządzeniu, gdy rozdzielczość widoku gry w Unity jest zbyt wysoka. Aby to naprawić, obniż rozdzielczość widoku gry w edytorze Unity.
Pełne informacje o wersji pakietu ARCore SDK na Unity
Dodatkowe zmiany
Więcej informacji o poprawkach błędów i innych zmianach znajdziesz w tych informacjach o wersji.
Nowości w ARCore w wersji 1.14.0
W tej wersji wprowadziliśmy te ważne zmiany:
Gdy aplikacja tymczasowo traci dostęp do aparatu na rzecz innej aplikacji na urządzeniu, przyczyna niepowodzenia śledzenia jest teraz bardziej szczegółowa:
Android:
TrackingFailureReasonzamiastNONEjestCAMERA_UNAVAILABLE.Android NDK:
ArTrackingFailureReasonstoAR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLEzamiastAR_TRACKING_FAILURE_REASON_NONE.Unity:
Session.LostTrackingReasontoLostTrackingReason.CameraUnavailablezamiastNone.
Google zbiera i przetwarza dane z Twojego korzystania z pakietu ARCore Extensions zgodnie z Polityką prywatności Google i Warunkami korzystania z interfejsów API Google. Możesz z tego zrezygnować.
Nowości w ARCore w wersji 1.13.0
W tej wersji wprowadziliśmy te ważne zmiany:
Obsługa korzystania z rozszerzeń ARCore dla AR Foundation w Unity do tworzenia aplikacji na iOS z kotwicami Cloud.
Więcej informacji o poprawkach błędów i innych zmianach znajdziesz w tych informacjach o wersji.
Nowości w ARCore w wersji 1.12.0
W tej wersji wprowadziliśmy te zmiany:
Dodanie funkcji Rozszerzone twarze na urządzeniach z iOS. Więcej informacji znajdziesz w tym omówieniu, krótkim wprowadzeniu i przewodniku dla deweloperów.
Obsługa korzystania z ARCore Extensions dla AR Foundation w Unity do tworzenia aplikacji na Androida z kotwicami Cloud.
Zmiany w zakotwiczeniach w chmurze:
- Aby zachować zgodność z naszymi zaktualizowanymi wymaganiami dotyczącymi ochrony prywatności w przypadku korzystania z pakietów SDK ARCore w wersji 1.12 lub nowszej, musisz w widocznym miejscu w aplikacji poinformować użytkowników o korzystaniu z kotwic w chmurze. W tym celu na ekranie powiadomienia umieść ten tekst oraz link do dodatkowych informacji: „Aby umożliwić działanie tej sesji, Google będzie przetwarzać dane wizualne z Twojego aparatu”. Możesz to zrobić, wdrażając zalecany proces powiadamiania użytkowników dostępny w naszych przykładowych aplikacjach z kotwicami w chmurze.
Więcej informacji znajdziesz w wymaganiach dotyczących ochrony prywatności użytkowników.
Więcej informacji o kotwicach w Cloud Anchors:
Urządzenia z Androidem:
Android NDK:
Urządzenia z iOS:
Unity:
Rozszerzenia ARCore:
Nowości w ARCore w wersji 1.11.0
W tej wersji wprowadziliśmy te zmiany:
Usługa ARCore zmieniła nazwę na Usługi Google Play dla AR. Na urządzeniach z Google Play jest ona teraz rozpowszechniana w ramach Usług Google Play.
Konfiguracje aparatu ARCore są dostosowane do 60 kl./s na obsługiwanych urządzeniach i priorytetowo wykorzystują czujnik głębi na urządzeniach, które go mają. Możesz użyć nowych filtrów konfiguracji kamery, aby ograniczyć liczbę klatek na sekundę do 30, uniemożliwić ARCore korzystanie z czujnika głębi lub filtrować na podstawie obu tych opcji.
Więcej informacji o konfiguracjach kamery:
Urządzenia z Androidem:
Android NDK:
Unity:
Nowości w ARCore w wersji 1.10.0
Ta wersja dodaje nowe możliwości oceny oświetlenia środowiskowego HDR do interfejsu Lighting Estimation API na Androida, Androida NDK i Unity.
Te interfejsy API wykorzystują uczenie maszynowe do analizowania obrazu z kamery i szacowania oświetlenia otoczenia. Możesz użyć tych danych do oszacowania oświetlenia, aby renderować niezwykle realistyczne oświetlenie, w tym główne światło kierunkowe, cienie, oświetlenie otoczenia, odblaski i odbicia na wirtualnych obiektach. Dzięki temu wirtualne treści są bardziej realistyczne.
Szczegółowe informacje:
Urządzenia z Androidem:
Android NDK:
Unity:
Nowości w ARCore w wersji 1.9.0
Nowości w pakiecie ARCore SDK na Androida
Ta wersja zawiera te nowe interfejsy API i funkcje:
Scene Viewer to wciągająca przeglądarka, która umożliwia korzystanie z funkcji AR w Twojej witrynie. Umożliwia użytkownikom urządzeń mobilnych z Androidem łatwe umieszczanie, wyświetlanie i interakcję z modelami 3D hostowanymi w internecie w ich otoczeniu.
Nowe funkcje obrazów rozszerzonych:
ARCore śledzi teraz ruchome obrazy rozszerzone. Przykładami ruchomych obrazów są reklama na przejeżdżającym autobusie lub obraz na płaskim obiekcie trzymanym przez użytkownika, który porusza ręką.
Po wykryciu obrazu ARCore może nadal śledzić jego położenie i orientację, nawet jeśli obraz tymczasowo zniknie z pola widzenia kamery.
Użyj
AugmentedImage#getTrackingMethod()(Java) lubArAugmentedImage_getTrackingMethod()(NDK), aby określić, czy obraz rozszerzony jest obecnie śledzony przez kamerę (FULL_TRACKING), czy jest śledzony na podstawie ostatniej znanej pozycji (LAST_KNOWN_POSE).
Dokumentacja Cloud Anchors zawiera teraz bardziej szczegółowe wyjaśnienie sposobu hostowania i rozwiązywania kotwic.
Nowości w pakiecie ARCore SDK dla Unity
Nowe funkcje obrazów rozszerzonych:
ARCore śledzi teraz ruchome obrazy rozszerzone. Przykłady ruchomych obrazów to reklama na przejeżdżającym autobusie lub obraz na płaskim obiekcie trzymanym przez użytkownika, który porusza nim w przestrzeni.
Po wykryciu obrazu ARCore może nadal śledzić jego położenie i orientację, nawet jeśli obraz tymczasowo zniknie z pola widzenia kamery.
Nowy interfejs
AugmentedImage.GetTrackingMethod()API umożliwia aplikacji określenie, czy obraz rozszerzony jest obecnie śledzony przez kamerę (FullTracking), czy jest śledzony na podstawie ostatniej znanej pozycji (LastKnownPose).
Dokumentacja Cloud Anchors zawiera teraz bardziej szczegółowe wyjaśnienie sposobu hostowania i rozwiązywania kotwic.
Nowości w pakiecie ARCore SDK na iOS
Obsługa tych urządzeń:
iPad Mini 5 generacji
iPad Air 3 generacji
Dokumentacja Cloud Anchors zawiera teraz bardziej szczegółowe wyjaśnienie sposobu hostowania i rozwiązywania kotwic.

