Nowe, ważne zmiany w ARCore.
Nowości w ARCore w wersji 1.44.0
Ta wersja nie zawiera nowych funkcji.
Nowości w ARCore w wersji 1.43.0
Interfejs Places API w migracji twórców Geospatial Creator
Funkcja wyszukiwania twórcy danych geoprzestrzennych korzysta teraz z interfejsu Google New Places API. Aby używać funkcji wyszukiwania, włącz interfejs „Places API (nowy)” w konsoli Google Cloud.
Nowości w ARCore w wersji 1.42.0
Przyciągaj do kafelka w usłudze Geospatial Creator dla Unity
Do panelu Inspektora edytora ARGeospatialCreatorAnchor
dodaliśmy przycisk „Przyciągnij do kafelka”. Ten przycisk powoduje ustawienie wartości wysokości kotwicy w widoku terenu lub dachu (tylko w edytorze) na górę geometrii kafelka 3D zgodnie z bieżącą szerokością i długością geograficzną kotwicy. Pamiętaj, że ta właściwość nie wpływa na działanie w czasie działania. Pomaga to dostosować położenie kotwicy w edytorze do jej pozycji w czasie działania.
Nowości w ARCore w wersji 1.41.0
Interfejs Geospatial Creator API
Aplikacja Geospatial Creator dla Unity obsługuje teraz tworzenie obiektów twórcy geoprzestrzennego i manipulowanie nimi w trybie edytora. Nowo dostępne zajęcia i interfejsy API zostały opisane w przewodniku po interfejsie Geospatial Creator API.
Obsługa AR Foundation w wersji 5.x (beta)
Rozszerzenia ARCore dla Fundacji AR Unity obsługują teraz AR Foundation w wersji 5.x. Aby przenieść istniejący projekt do AR Foundation, zapoznaj się z przewodnikiem po migracji.
Nowości w ARCore w wersji 1.40.0
Semantyka sceny w iOS
Scene Semantics API jest teraz dostępny w pakiecie ARCore SDK na iOS oraz jako rozszerzenie ARCore dla Unity AR Foundation kierowanego na platformę iOS. Interfejs Scene Semantics API umożliwia programistom rozumienie otoczenia w czasie rzeczywistym przez przypisywanie pikseli do 11 klas komponentów zewnętrznych. Więcej informacji znajdziesz w artykule Wprowadzenie do semantyki sceny.
iOS
Unity (Fundacja AR)
Wyszukaj ciekawe miejsca na stronie Geospatial Creator for Unity
Aplikacja Geospatial Creator for Unity obsługuje teraz wyszukiwanie tekstowe w celu pozycjonowania widoku Fotograficzne kafelki 3D. Więcej informacji znajdziesz w artykule Wyszukiwanie ciekawych miejsc w aplikacji Geospatial Creator.
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 scen pozwala uzyskać bardziej szczegółowe informacje o otoczeniu, co ułatwia zrozumienie świata dookoła użytkownika. Semantyka sceny uruchamia model ML w pliku danych z kamery i tworzy obraz semantyczny z każdym pikselem odpowiadającym jednej z 11 etykiet dotyczących koncepcji związanych ze światem zewnętrznym.
Więcej informacji znajdziesz w artykule Wprowadzenie do semantyki sceny oraz przykładową aplikacją semantics_java.
Android (Kotlin/Java)
Android NDK (C)
Unity (Fundacja AR)
iOS
Geometria uliczna
Streetscape Geometry to nowy interfejs ARCore Geospatial API, który udostępnia geometrię budynków i terenu na obszarze wokół użytkownika, gdy włączony jest interfejs Geospatial API.
Android (Kotlin/Java)
Zobacz Przewodnik dla programistów dotyczący geometrii Streetscape (Kotlin/Java). Oprócz tego zaktualizowaliśmy przykładową aplikację geospatial_java, aby uwzględniała geometrię Streetscape Geometry.
Android NDK (C)
Więcej informacji znajdziesz w przewodniku dla programistów Streetscape Geometry (C).
Unity (Fundacja AR)
Więcej informacji znajdziesz w przewodniku dla programistów Streetscape Geometry (Unity).
iOS
Więcej informacji znajdziesz w przewodniku dla programistów Streetscape Geometry (iOS). Zaktualizowaliśmy też aplikację GeospatialExample, aby uwzględniała geometrię Streetscape.
GARStreetscapeGeometry
:GARStreetscapeGeometry.mesh
udostępnia siatki 3D.GARStreetscapeGeometry.meshTransform
udostępnia przekształcenie punktu początkowego geometrii względem przestrzeni świata sesji.GARStreetscapeGeometry.trackingState
zachowuje stan śledzenia.GARStreetscapeGeometry.type
wskazuje, czy jest to teren czy geometria budynku.GARStreetscapeGeometry.quality
podaje jakość geometrii.GARStreetscapeGeometry.identifier
podaje unikalny identyfikator geometrii.GARSession.createAnchorOnStreetscapeGeometry:transform:error:
tworzy reklamę zakotwiczoną w określonej lokalizacji i orientacji.GARSession.raycastStreetscapeGeometry:direction:error:
wykonuje zdjęcie promieni na tle geometrii Streetscape wczytanej do sceny.
Kotwy dachowe
Kotwice dachowe to nowy typ kotwicy geoprzestrzennej, który ułatwia zakotwiczenie treści na dachu.
Android (Kotlin/Java)
Zobacz kotwice geoprzestrzenne (Java). Oprócz tego przykładowa aplikacja geospatial_java została zaktualizowana i uwzględnia w niej kotwice Rooftop.
Android NDK (C)
Więcej informacji znajdziesz w sekcji Reklamy zakotwiczone geoprzestrzenne (C).
Unity (Fundacja AR)
Więcej informacji znajdziesz w artykule Reklamy zakotwiczone geoprzestrzenne. Oprócz tego do próbki danych geoprzestrzennych dodaliśmy reklamy zakotwiczone na dachu.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
zapewnia kotwicę obiektów gry w scenie na określonej szerokości i długości geograficznej, wysokości nad dachem i w określonej orientacji.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
iOS
Więcej informacji znajdziesz w artykule Reklamy zakotwiczone geoprzestrzenne (iOS). Oprócz tego zaktualizowaliśmy aplikację GeospatialExample, aby obejmowała kotwice na dachu.
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
tworzy reklamę zakotwiczoną na dachu w określonej lokalizacji, na wysokości nad dachem (w metrach) i w stosunku do Ziemi.GARCreateAnchorOnRooftopFuture
przechowuje asynchroniczny stan reklamy zakotwiczonej na dachu.- Pole
GARRooftopAnchorState
opisuje stan rozstrzygania kotwicy na dachu.
Głębokość geoprzestrzenna
Gdy w sesji ARCore są włączone jednocześnie tryby Depth API i Streetscape Geometry, wygenerowane obrazy głębi są ulepszane za pomocą funkcji Streetscape Geometry. Funkcja Streetscape Geometry jest zintegrowana z każdym wygenerowanym obrazem głębi w zakresie do 65,535 metra. Aby zobaczyć tę korzyść, nie musisz wprowadzać żadnych zmian przy wywoływaniu interfejsu Depth API.
Android (Kotlin/Java)
Więcej informacji znajdziesz w artykule Głębokość geoprzestrzenna (Java).
Android NDK (C)
Więcej informacji znajdziesz w sekcji Głębokość geoprzestrzenna (C).
Unity (Fundacja AR)
Więcej informacji znajdziesz w sekcji Głębokość geoprzestrzenna (C).
iOS
Semantyka scen jest obecnie niedostępna w systemie iOS.
Obsługa renderowania interfejsu Vulkan
ARCore obsługuje teraz renderowanie w języku Vulkan, wyświetlając obraz z kamery za pomocą komponentu AHardwareBuffer
. Aby użyć tego bufora sprzętowego, powiąż go z elementem VkImage
.
Więcej informacji znajdziesz w artykułach o renderowaniu aplikacji ARCore za pomocą interfejsu Vulkan i przykładowej aplikacji hello_ar_vulkan_c.
Android (Kotlin/Java)
Android NDK (C)
Unity (Fundacja AR)
Renderowanie interfejsu Vulkan nie jest obecnie dostępne w Unity korzystającym z AR Foundation.
Elektroniczna stabilizacja obrazu (EIS)
Możesz skonfigurować ARCore, aby korzystał z elektronicznej stabilizacji obrazu, która wygładza klatki w aparacie, by zapewnić użytkownikom płynniejsze działanie.
Więcej informacji znajdziesz w sekcji Włączanie elektronicznej stabilizacji obrazu oraz przykładowej aplikacji hello_eis_kotlin.
Android (Kotlin/Java)
Config.ImageStabilizationMode
Frame.transformCoordinates3d()
Session.isImageStabilizationModeSupported()
- Występuje znany problem, w którym wywołanie metody
Frame.transformCoordinates3d()
ze współrzędnymi 2D innych niżOPENGL_NORMALIZED_DEVICE_COORDINATES
spowoduje awarię, a nie wysłanieIllegalArgumentException
. Ten problem zostanie rozwiązany w następnej wersji.
Android NDK (C)
ArImageStabilizationMode
ArFrame_transformCoordinates3d()
ArSession_isImageStabilizationModeSupported()
- Występuje znany problem polegający na tym, że wywołanie metody
ArFrame_transformCoordinates3d()
ze współrzędnymi 2D innych niżAR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATES
spowoduje przerwanie działania aplikacji zamiast zwrócenieAR_ERROR_INVALID_ARGUMENT
. Ten problem zostanie rozwiązany w następnej wersji.
Unity (Fundacja AR)
Dane EIS nie są obecnie dostępne dla Unity korzystających z AR Foundation.
iOS
Wskaźnik EIS jest obecnie niedostępny w przypadku iOS.
Asynchroniczne interfejsy API ARCore
W tej wersji wprowadziliśmy nowe asynchroniczne interfejsy API ARCore, które pozwalają poprawić ergonomię podczas pracy z operacjami asynchronicznymi zgodnie z paradygmatami Future i Promise.
Android (Kotlin/Java)
- Rozwiązywanie problemów z kotwicami terenu: użyj
Earth.resolveAnchorOnTerrainAsync()
, by otrzymaćResolveAnchorOnTerrainFuture
. Stary symbolEarth.resolveAnchorOnTerrain()
został wycofany i może zostać usunięty w nowszej wersji ARCore. - Rozwiązywanie problemów z kotwicami Cloud: użyj narzędzia
Session.resolveCloudAnchorAsync()
, aby uzyskaćResolveCloudAnchorFuture
. Stary symbolSession.resolveCloudAnchor()
został wycofany i może zostać usunięty w nowszej wersji ARCore. - Hosting kotwic Cloud: użyj usługi
Session.hostCloudAnchorAsync()
, aby uzyskaćHostCloudAnchorFuture
. Stare symboleSession.hostCloudAnchor()
iSession.hostCloudAnchorWithTtl()
zostały wycofane i mogą zostać usunięte w nowszej wersji ARCore. - Sprawdź dostępność pliku 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()
, by uzyskaćArResolveAnchorOnTerrainFuture
lubArResolveAnchorOnTerrainCallback
. Stary symbolArEarth_resolveAndAcquireNewAnchorOnTerrain()
został wycofany i może zostać usunięty w nowszej wersji ARCore. - Rozwiązywanie problemów z kotwicami Cloud: użyj narzędzia
ArSession_resolveCloudAnchorAsync()
, aby uzyskaćArResolveCloudAnchorFuture
lub użyćArResolveCloudAnchorCallback
. Stary symbolArSession_resolveAndAcquireNewCloudAnchor()
został wycofany i może zostać usunięty w nowszej wersji ARCore. - Hosting kotwic Cloud: użyj usługi
ArSession_hostCloudAnchorAsync()
, aby uzyskaćArHostCloudAnchorFuture
lub użyćArHostCloudAnchorCallback
. Stare symboleArSession_hostAndAcquireNewCloudAnchor()
iArSession_hostAndAcquireNewCloudAnchorWithTtl()
zostały wycofane i mogą zostać usunięte w nowszej wersji ARCore. - Sprawdź dostępność pliku APK: użyj
ArCoreApk_checkAvailabilityAsync()
, aby zarejestrować wywołanie zwrotne. Stary symbolArCoreApk_checkAvailability()
nie został wycofany.
Unity (Fundacja AR)
- Rozwiązywanie problemów z kotwicami terenu: użyj
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
, by otrzymaćResolveAnchorOnTerrainPromise
. Stary symbolARAnchorManagerExtensions.ResolveAnchorOnTerrain()
został wycofany i może zostać usunięty w nowszej wersji ARCore. - Rozwiązywanie problemów z kotwicami Cloud: użyj narzędzia
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
, aby uzyskaćResolveCloudAnchorPromise
. Stary symbolARAnchorManagerExtensions.ResolveCloudAnchorId()
został wycofany i może zostać usunięty w nowszej wersji ARCore. - Hosting kotwic Cloud: użyj usługi
ARAnchorManagerExtensions.HostCloudAnchorAsync()
, aby uzyskaćHostCloudAnchorPromise
. Stare symboleARAnchorManagerExtensions.HostCloudAnchor()
zostały wycofane i można je usunąć w nowszej wersji ARCore.
iOS
- Rozwiązywanie problemów z kotwicami terenu: użyj
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
, by otrzymaćGARCreateAnchorOnTerrainFuture
. Stary symbolGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
został wycofany i może zostać usunięty w nowszej wersji ARCore. - Rozwiązywanie problemów z kotwicami Cloud: użyj narzędzia
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
, aby uzyskaćGARResolveCloudAnchorFuture
. Stary symbolGARSession.resolveCloudAnchorWithIdentifier:error:
został wycofany i może zostać usunięty w nowszej wersji ARCore. - Hosting kotwic Cloud: użyj usługi
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 nowszej wersji ARCore.
Nowości w ARCore w wersji 1.36.0
Obsługa menedżera pakietów Swift na urządzeniach z iOS
Pakiet ARCore SDK na iOS oficjalnie obsługuje teraz menedżera pakietów Swift. Instrukcje dotyczące 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 powoduje zastąpienie nagłówka odchyleniem
W przypadku wszystkich pozycji geoprzestrzennych dostępna jest teraz dokładność orientacji orientacji obrotu odchyleniem, co zastępuje dokładność nagłówka.
- Java/Kotlin: zastąp
GeospatialPose.getHeading()
elementemGeospatialPose.getEastUpSouthQuaternion()
, aGeospatialPose.getHeadingAccuracy()
–GeospatialPose.getOrientationYawAccuracy()
. - C: zamień
ArGeospatialPose_getHeading()
naArGeospatialPose_getEastUpSouthQuaternion()
, aArGeospatialPose_getHeadingAccuracy()
naArGeospatialPose_getOrientationYawAccuracy()
. - iOS: zamień
GARGeospatialTransform.heading
naGARGeospatialTransform.eastUpSouthQTarget
, aGARGeospatialTransform.headingAccuracy
naGARGeospatialTransform.orientationYawAccuracy
. - Unity: zamień
GeospatialPose.Heading
naGeospatialPose.EunRotation
, aGeospatialPose.HeadingAccuracy
naGeospatialPose.OrientationYawAccuracy
.
Dodatkowe zmiany i aktualizacje
W informacjach o wersji znajdziesz informacje o innych zmianach, poprawkach i ulepszeniach wydajności:
- Informacje o wersji pakietu ARCore SDK na Androida
- Informacje o wersji ARCore na Androida NDK
- Informacje o wersji pakietu ARCore SDK na iOS
- Informacje o wersji ARCore Extensions for AR Foundation
Nowości w ARCore w wersji 1.34.0
Sprawdzanie, czy funkcje geoprzestrzenne są dostępne w bieżącej lokalizacji urządzenia
Geospatial API może teraz sprawdzać dostępność systemu pozycjonowania wizualnego (VPS) w określonej pozycji poziomej w czasie działania. Tego interfejsu API można używać bez aktywnej sesji AR, na przykład do wyświetlania przycisku „Włącz AR” tylko wtedy, gdy usługa VPS jest dostępna.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- C:
ArSession_checkVpsAvailabilityAsync()
- System iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (Fundacja AR):
AREarthManager.CheckVpsAvailability()
Orientacja pozycji geoprzestrzennej
Pozycje geoprzestrzenne teraz zapewniają ich orientację w przestrzeni 3D.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- C:
ArEarth_getGeospatialPose()
- System iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Unity:
GeospatialPose.EunRotation()
Konwersje pozycji geoprzestrzennej
Pozycje geoprzestrzenne można teraz przekształcać w pozycje kosmiczne (AR) i z nich w przestrzeni świata.
Aby uzyskać pozycję geoprzestrzenną z pozycji AR:
- Java/Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- System iOS:
GARSession.geospatialTransformFromTransform:error:
- Unity:
AREarthManager.Convert(Pose)
Aby uzyskać pozycję AR w pozycji geoprzestrzennej:
- Java/Kotlin:
Earth.getPose()
- C:
ArEarth_getPose()
- System iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Unity:
AREarthManager.Convert(GeospatialPose)
Pozycje geoprzestrzenne uzyskane z tych funkcji mają wartość nagłówka ustawioną na 0. Zamiast tego użyj następującego kodu:
- Android (Java/Kotlin/C): kwartonion EUS pozycji
- iOS:
eastUpSouthQTarget
w pozycji - Unity:
EunRotation
w pozycji
Dodatkowe zmiany i aktualizacje
W informacjach o wersji znajdziesz informacje o innych zmianach, poprawkach i ulepszeniach wydajności:
- Informacje o wersji pakietu ARCore SDK na Androida
- Informacje o wersji ARCore na Androida NDK
- Informacje o wersji pakietu ARCore SDK na iOS
- Informacje o wersji ARCore Extensions for AR Foundation
Nowości w ARCore w wersji 1.33.0
Nowy punkt końcowy Cloud Anchors
- Aby korzystać z Cloud Anchors, musisz włączyć interfejs ARCore API zamiast starszego ARCore Cloud Anchor API, który został wycofany. Aby zapewnić obsługę starszych wersji aplikacji, podczas przechodzenia na nową usługę możesz włączyć obie wersje. Aplikacje z pakietem ARCore SDK w wersji 1.32.0 lub starszej będą kierowane na starszy interfejs API, a aplikacje z pakietem ARCore SDK w wersji 1.33.0 lub nowszej – na nowy interfejs API. Uwaga:
- Nowy interfejs API używa nazwy domeny
arcore.googleapis.com
zamiastarcorecloudanchor.googleapis.com
. - Jeśli używasz klucza interfejsu API, który jest ograniczony przez interfejs API, musisz zezwolić na używanie interfejsu ARCore API.
- Jeśli z backendu wysyłasz żądania do interfejsu ARCore Cloud Anchor Management API, po włączeniu interfejsu ARCore API musisz też zmienić nazwę domeny na
arcore.googleapis.com
. - Stary interfejs API lub punkt końcowy będą obsługiwane do sierpnia 2023 r.
- Więcej informacji znajdziesz w artykule Zmiany punktów końcowych usługi Cloud Anchor w wersji ARCore 1.33.
- Nowy interfejs API używa nazwy domeny
Kotwice terenu
- Interfejs Geospatial Terrain Anchor API tworzy reklamę zakotwiczoną w określonej pozycji poziomej i na określonej wysokości względem terenu w pozycji poziomej.
Dodatkowe zmiany i aktualizacje
W informacjach o wersji znajdziesz informacje o innych zmianach, poprawkach i ulepszeniach wydajności:
- Informacje o wersji pakietu ARCore SDK na Androida
- Informacje o wersji ARCore na Androida NDK
- Informacje o wersji pakietu ARCore SDK na iOS
- Informacje o wersji ARCore Extensions for AR Foundation
Nowości w ARCore w wersji 1.32.0
Ta wersja nie zawiera nowych funkcji.
Android i Unity (AR Foundation) na Androida
- Interfejs
targetSdkVersion
ARCore został zaktualizowany do interfejsu API Androida na poziomie 32. Jeśli Twoja aplikacja nie określa elementutargetSdkVersion
, z powodu scalania manifestu jej identyfikatortargetSdkVersion
zmieni się na 32.- Android SDK: określenie
targetSdkVersion
w parametrzebuild.gradle
lubAndroidManifest.xml
projektu zastąpi wartośćtargetSdkVersion
ARCore. - AR Foundation na Androida: określenie docelowego poziomu interfejsu API w projekcie Unity w sekcji Project Settings > Player > Android > Other Settings (Ustawienia projektu > Player > Android > Other Settings) spowoduje zastąpienie wartości
targetSdkVersion
ARCore.
- Android SDK: określenie
Dodatkowe zmiany i aktualizacje
W informacjach o wersji znajdziesz informacje o innych zmianach, poprawkach i ulepszeniach wydajności:
- Informacje o wersji pakietu ARCore SDK na Androida
- Informacje o wersji ARCore na Androida NDK
- Informacje o wersji pakietu ARCore SDK na iOS
- Informacje o wersji ARCore Extensions for AR Foundation
Nowości w ARCore w wersji 1.31.0
Interfejs ARCore Geospatial API
Nowy ARCore Geospatial API wykorzystuje dane z modeli 3D z Google Earth i dane zdjęć Street View z Map Google, aby umożliwiać wciągające korzystanie z rzeczywistości rozszerzonej w skali globalnej i opartej na lokalizacji.
Zapoznaj się z wprowadzeniem do interfejsu ARCore Geospatial API, aby zapoznać się z dokumentacją dla deweloperów dotyczącą poszczególnych platform i jak zacząć korzystać z nowego interfejsu Geospatial API.
Głębokość dalekiego zasięgu
Interfejs ARCore Depth API jest teraz zoptymalizowany tak, aby uwzględniać wykrywanie głębi w większym zakresie, co zwiększa zakres reprezentatywnych obserwacji głębi. Wykorzystywane są wszystkie 16-bitowe obrazy głębi, zapewniające maksymalny zasięg 65 535 milimetrów. Wcześniej podane były tylko wartości 13-bitowe, ale limit wynosił 8191 milimetrów.
Dokumentację dla deweloperów dotyczącą konkretnej platformy oraz informacje o zmianach w interfejsie Depth API znajdziesz w dokumencie Zmiany w głębi.
Uwagi dotyczące konkretnej platformy
Android
Nowe interfejsy API geoprzestrzenne ARCore
Java
Earth
umożliwia lokalizację we współrzędnych względnych Earth.Earth.createAnchor()
tworzy nowy obiektAnchor
w określonej lokalizacji i orientacji względem Ziemi.
Earth.Earthstate
opisuje bieżący stanEarth
, w tymTrackingState
.- Pole
GeospatialPose
opisuje konkretną lokalizację, wysokość oraz kierunek kompasu w odniesieniu do Ziemi.
C
ArEarth
umożliwia lokalizację we współrzędnych względem Ziemi.ArEarth_acquireNewAnchor()
tworzy nowy obiektAnchor
w określonej lokalizacji i orientacji względem Ziemi.ArEarthState
opisuje bieżący stanArEarth
, w tymArTrackingState
.
- Pole
ArGeospatialPose
opisuje konkretną lokalizację, wysokość oraz kierunek kompasu w odniesieniu do Ziemi.
Zaktualizowano interfejsy ARCore Depth API
Java
- Wywołania funkcji Depth API uległy zmianie:
Frame.acquireDepthImage
, byFrame.acquireDepthImage16Bits
.Frame.acquireRawDepthImage
, byFrame.acquireRawDepthImage16Bits
.- Formaty obrazu wyjściowego obu wywołań zmieniły się z
android.graphics.ImageFormat#DEPTH16
naandroid.hardware.HardwareBuffer#D_16
. - Głębokość jest nadal podawana w postaci 16-bitowej liczby całkowitej wyrażonej w jednostkach milimetrowych, ale teraz do reprezentowania jej wartości służy wszystkie 16-bitowe wartości, co pozwala uzyskać maksymalny zakres od 8191 do 65 535 mm.
- Wywołania funkcji
Frame.acquireDepthImage
iFrame.acquireRawDepthImage
interfejsu Depth API zostały wycofane. Zamiast nich używaj właściwościFrame.acquireDepthImage16Bits
iFrame.acquireRawDepthImage16Bits
.
- Wywołania funkcji Depth API uległy zmianie:
C
- Wywołania funkcji Depth API uległy zmianie:
ArFrame_acquireDepthImage
, byArFrame_acquireDepthImage16Bits
.- Od
ArFrame_acquireRawDepthImage
doArFrame_acquireRawDepthImage16Bits
- Formaty obrazu wyjściowego obu wywołań zmieniły się z
AR_IMAGE_FORMAT_DEPTH16
naAR_IMAGE_FORMAT_D_16
. - Głębokość jest nadal podawana w postaci 16-bitowej liczby całkowitej wyrażonej w jednostkach milimetrowych, ale teraz do reprezentowania jej wartości służy wszystkie 16-bitowe wartości, co pozwala uzyskać maksymalny zakres od 8191 do 65 535 mm.
- Wywołania funkcji
ArFrame_acquireDepthImage
iArFrame_acquireRawDepthImage
interfejsu Depth API zostały wycofane. Zamiast nich używaj właściwościArFrame_acquireDepthImage16Bits
iArFrame_acquireRawDepthImage16Bits
.
- Wywołania funkcji Depth API uległy zmianie:
Unity (Fundacja AR)
Nowe interfejsy ARCore Geospatial API:
AREarthManager
umożliwia lokalizację we współrzędnych względem Ziemi.EarthTrackingState
pobiera stan śledzenia ostatniej klatki w Earth.EarthState
obsługuje warunki błędów Earth.
- Pole
GeospatialPose
opisuje konkretną lokalizację, wysokość oraz kierunek kompasu względem Ziemi. ARGeospatialAnchor
zawiera element zakotwiczony obiektów gry w scenie, określonego w lokalizacji i orientacji względem Ziemi.
iOS
Nowe interfejsy ARCore Geospatial API:
GAREarth
Umożliwia lokalizację względną dla Google Earth.GAREarthState.earthState
zarządza stanami i warunkami błędów.GAREarthState.trackingState
utrzymuje stan śledzenia wymagany w przypadku danych geoprzestrzennych.
GARGeospatialTransform
Reprezentacja globalnej transformacji, w tym lokalizacja, kierunek, wysokość i szacowana dokładność.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
Tworzy kotwicę geoprzestrzenną w określonej lokalizacji i orientacji względem Ziemi.
Inne zmiany
W informacjach o wersji znajdziesz informacje o innych zmianach, poprawkach i ulepszeniach wydajności:
- Informacje o wersji pakietu ARCore SDK na Androida
- Informacje o wersji ARCore na Androida NDK
- Informacje o wersji pakietu ARCore SDK na iOS
- Informacje o wersji ARCore Extensions for AR Foundation
Nowości w ARCore w wersji 1.30.0
Ta wersja nie zawiera nowych funkcji.
Android
- Interfejs API z adnotacjami zwraca wartości
@NonNull
i@Nullable
. - Zaktualizowano wersje narzędzia do kompilacji używane do generowania przykładów: wersję Gradle do wersji 7.0.2 i wtyczkę Androida do obsługi Gradle do wersji 7.0.4. W przypadku istniejących aplikacji ARCore nie jest wymagana aktualizacja tych narzędzi. Informacje o nowych funkcjach, znanych problemach i informacjach o braku zgodności znajdziesz w dokumentacji Androida na temat wtyczki Android do obsługi Gradle.
Unity (Fundacja AR)
Dodano nową wersję:
arcore-unity-extensions-without-edm4u.tgz
. Ten wariant wersji nie zawiera pakietów zewnętrznych, takich jak External Dependency Manager for Unity, i umożliwia uaktualnienie do EDM. Użycie tej wersji Lite może rozwiązać problemy wynikające z niezgodności podczas korzystania z bibliotek Firebase. Aby rozpocząć, zapoznaj się z instrukcjami instalacji rozszerzenia ARCore Extensions for AR Foundation.Zaktualizowano ExternalDependencyManager do wersji 1.2.168, aby lepiej obsługiwał wersję 2021.2 i nowsze. Więcej informacji znajdziesz w historii zmian w EDM.
Rozwiązaliśmy problem polegający na tym, że sesja ARCore konfiguruje każdą klatkę, nawet gdy konfiguracja sesji się nie zmieniła, co powoduje spadek liczby klatek na sekundę.
iOS
- Różne poprawki błędów i ulepszenie działania aplikacji.
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 jego umieszczeniu za pomocą
SCREENSPACE_WITH_APPROXIMATE_DISTANCE
, by lepiej odróżniać obiekty umieszczone za pomocą szybkiego miejsca docelowego. - persistent_cloud_anchor_java: do przykładu dodano brakującą zależność kompilacji. Naprawia błąd, który powodował, że hostowanie dowolnej kotwicy miało stan
CloudAnchorState ERROR_NOT_AUTHORIZED
, nawet jeśli projekt został poprawnie skonfigurowany.
Unity (Fundacja AR)
- Pakiet rozszerzeń ARCore korzysta teraz z wtyczki ARKit XR, aby mieć pewność, że zainstalowana wersja AR Foundation jest zgodna z wersją wtyczki ARKit XR. Rozwiązuje to błąd kompilacji podczas instalowania rozszerzeń ARCore w systemie Unity 2019.x i włączania wtyczki ARKit XR.
- Ustawienia projektu rozszerzeń ARCore zostały przeniesione z Project Settings > XR > ARCore Extensions (Ustawienia projektu > XR > ARCore Extensions) do Ustawienia projektu > Zarządzanie wtyczkami XR > Rozszerzenia ARCore.
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
,ARCoreRecordingConfig
zostały przeniesione z Utwórz > XR > Rozszerzenia ARCore do menu Utwórz > XR.
iOS
- Różne poprawki błędów i ulepszenie działania aplikacji.
Pełne informacje o wersji
- Pełne informacje o wersji ARCore SDK na Androida
- Pełne informacje o wersji ARCore na Androida NDK
- Pełne informacje o wersji ARCore SDK na iOS
- Informacje o wersji ARCore Extensions for 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 pobierać obrazów NDK ani metadanych obrazów. Wersje pakietu SDK, których to dotyczy, zależą od wywoływanej konkretnej funkcji. Więcej informacji znajdziesz w ogłoszeniu o wycofaniu.
- C wywołania
ArImage_getNdkImage()
iArImage_getNdkCameraMetadata()
zawsze będą zwracać wartościnullptr
dla obiektówAImage
iACameraMetadata
. - Java: obiekt
Image
zwrócony przez komponentFrame#acquireCameraImage()
będzie miał rozmiar0
x0
piks. WywołaniaFrame#getImageMetadata()
zawsze powodują wywołanieIllegalArgumentException
. - Unity (AR Foundation): gdy używasz AR Foundation 2.1 (Unity 2019 LTS), wywołania
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
zawsze zwracająfalse
. Nie ma to wpływu na AR Foundation 4.x i nowsze wersje. WywołaniaXRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
będą działać normalnie. - Pakiet ARCore SDK dla Unity (wycofany): wywołania
Frame.CameraImage.AcquireCameraImageBytes()
będą miały rozmiar0
x0
pikseli. WywołaniaFrame.CameraMetadata.GetAllCameraMetadataTags()
zwrócą pusteList<CameraMetadataTag>
.
- C wywołania
- Java:
ArImage#getCropRect()
zwraca teraz prostokąt przycinania w pełnym rozmiarze, czyli wszystkie piksele w obrazie 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 podanych niżej informacjach o wersji znajdziesz różne poprawki błędów i ulepszenia wydajności.
- Pełne informacje o wersji ARCore SDK na Androida
- Pełne informacje o wersji ARCore na Androida NDK
- Pełne informacje o wersji ARCore SDK na iOS
- Informacje o wersji ARCore Extensions for AR Foundation
Oprócz różnych poprawek błędów w tej wersji wprowadziliśmy następujące poprawki:
Przykładowe aplikacje w Kotlin
Dodano obiekt hello_ar_kotlin, aby zademonstrować sprawdzone metody korzystania z Kotlin.
Więcej informacji znajdziesz w krótkim wprowadzeniu na Androida.
Dodaliśmy ml_kotlin, aby zademonstrować, jak za pomocą ARCore używać modelu klasyfikacji obrazów.
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 wprowadzono następujące ważne zmiany:
- Identyfikatory URI są teraz obsługiwane w przypadku zbiorów danych w sekcji Nagrywanie i odtwarzanie.
Dodatkowe zmiany i aktualizacje
Poniżej znajdziesz informacje o wersji, w których znajdziesz dodatkowe poprawki błędów i inne zmiany powodujące niezgodność.
- Pełne informacje o wersji ARCore SDK na Androida
- Pełne informacje o wersji ARCore na Androida NDK
- Pełne informacje o wersji ARCore SDK na iOS
- Informacje o wersji ARCore Extensions for AR Foundation
Nowości w ARCore w wersji 1.25.0
Ta wersja nie zawiera nowych funkcji. W podanych niżej informacjach o wersji znajdziesz różne poprawki błędów i ulepszenia wydajności.
- Pełne informacje o wersji ARCore SDK na Androida
- Pełne informacje o wersji ARCore na Androida NDK
- Pełne informacje o wersji ARCore SDK na iOS
- Pełne informacje o wersji pakietu ARCore SDK dla Unity
- Informacje o wersji ARCore Extensions for AR Foundation
Nowości w ARCore w wersji 1.24.0
W tej wersji wprowadzono następujące ważne zmiany:
- Nowy interfejs Raw Depth API zapewniający obraz głębi bez filtrowania przestrzeni obrazu.
- Możliwość niestandardowego rejestrowania ścieżki danych w interfejsie API nagrywania i odtwarzania
- Możliwość przeprowadzania dogłębnych testów trafień
Głębokość nieprzetworzona
Interfejs Raw Depth API udostępnia dane o głębi w przypadku obrazu z kamery, który ma większą dokładność niż dane interfejsu Depth API, ale nie zawsze obejmuje każdy piksel. Nieprzetworzone obrazy głębi wraz z ich pasującymi obrazami ufności również mogą być przetwarzane, dzięki czemu aplikacje mogą korzystać tylko z takich danych, które są wystarczająco dokładne w danym przypadku.
Przewodniki dla programistów:
- Android (Java/Kotlin)
- Android NDK (C)
- ARCore Extensions for AR Foundation
- Pakiet ARCore SDK dla Unity
Nagrywanie niestandardowej ścieżki audio
Nowa niestandardowa ścieżka danych w interfejsie API do nagrywania i odtwarzania umożliwia dodawanie niestandardowych danych do klatki ARCore podczas nagrywania i pobieranie tych danych z klatki podczas odtwarzania.
Przewodniki dla programistów:
- Android (Java/Kotlin)
- Android NDK (C)
- ARCore Extensions for AR Foundation
- Pakiet ARCore SDK dla Unity
Testy głębokości
Wcześniej testy trafień można było przeprowadzać tylko na wykrytych płaszczyznach, ograniczając lokalizacje do dużych, płaskich powierzchni. Głębokość testów działa wykorzystujących zarówno gładkie, jak i czyste informacje o głębokości, co pozwala uzyskać dokładniejsze wyniki trafień, nawet na powierzchniach nieplanarnych i o niskiej tekstur.
Przewodniki dla programistów:
Dodatkowe zmiany i aktualizacje
Poniżej znajdziesz informacje o wersji, w których znajdziesz dodatkowe poprawki błędów i inne zmiany powodujące niezgodność.
- Pełne informacje o wersji ARCore SDK na Androida
- Pełne informacje o wersji ARCore na Androida NDK
- Pełne informacje o wersji ARCore SDK na iOS
- Pełne informacje o wersji pakietu ARCore SDK dla Unity
- Informacje o wersji ARCore Extensions for AR Foundation
Nowości w ARCore w wersji 1.23.0
Oczekuje na obsługę dwóch aparatów
W najbliższych tygodniach wprowadzimy obsługę dwóch aparatów. Więcej informacji znajdziesz na stronie dotyczącej obsługiwanych urządzeń.
Nowe narzędzia do debugowania
Wysyłając intencję transmisji, deweloperzy mogą umożliwić:
Logowanie wywołań interfejsu ARCore API w dzienniku debugowania Androida
Nakładka wydajności ARCore
Hosting i rozwiązywanie problemów zakotwiczonych Cloud Anchor
Aplikacje obsługujące AR i stworzone przy użyciu pakietu ARCore SDK w wersji 1.11.0 lub starszej nie mogą już hostować ani rozwiązywać problemów Cloud Anchor.
C: elementy zakotwiczone w chmurze zwracane przez funkcje
ArSession_hostAndAcquireNewCloudAnchor
iArSession_resolveAndAcquireNewCloudAnchor
zawsze mają stanAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
.Java: kotwice Cloud zwracane przez rozwiązania
Session.hostCloudAnchor(Anchor)
iSession.resolveCloudAnchor(String)
zawsze mają stanAnchor.CloudAnchorState.ERROR_INTERNAL
.Unity: kotwice Cloud zwracane przez rozwiązania
XPSession.CreateCloudAnchor(Anchor)
iXPSession.ResolveCloudAnchor(string)
zawsze mają stanCloudServiceResponse.ErrorInternal
.
Te zmiany nie mają wpływu na aplikacje utworzone za pomocą pakietu ARCore SDK w wersji 1.12.0 lub nowszej. Korzystanie przez nich z interfejsu ARCore Cloud Anchor API podlega zasadom wycofywania.
Dodatkowe zmiany i aktualizacje
W informacjach o wersji poniżej znajdziesz dodatkowe poprawki błędów i inne zmiany powodujące niezgodność.
Nowości w ARCore w wersji 1.22.0
W tej wersji dodaliśmy nowe interfejsy API do nagrywania i odtwarzania oraz interfejsy Camera Config API na potrzeby rozszerzeń ARCore na potrzeby funkcji AR Foundation. Aby dowiedzieć się więcej, przeczytaj pełne informacje o wersji ARCore Extensions.
Dodatkowe zmiany i aktualizacje
W informacjach o wersji poniżej znajdziesz dodatkowe poprawki błędów i inne zmiany powodujące niezgodność.
Nowości w ARCore w wersji 1.21.0
W tej wersji dodaliśmy nowe interfejsy API do nagrywania i odtwarzania dla Androida, Androida NDK i Unity.
Nagrywanie i odtwarzanie
Dzięki interfejsom API do nagrywania i odtwarzania możesz jednorazowo nagrać dane wideo i AR w danym środowisku i wykorzystać je do zastąpienia sesji kamery na żywo w celach testowych. ARCore zapisuje nagrane sesje w plikach MP4, które zawierają wiele ścieżek wideo i inne dane na urządzeniu. Możesz wskazać aplikacji, że chcesz używać tych danych zamiast sesji kamery na żywo. Dzięki temu możesz odtwarzać te treści w nieskończoność i wypróbowywać różne efekty AR bez konieczności powracania do tego pola.
Szczegółowe informacje:
Java:
C:
Unity:
Nowości w ARCore w wersji 1.20.0
W tej wersji wprowadzono następujące ważne zmiany:
Nowa obsługa trwałych elementów zakotwiczonych Cloud.
Zaktualizowano możliwości metadanych obrazu w Androidzie i Androidzie NDK.
Nowe wskazówki, które wymagają Gradle w wersji 5.6.4 lub nowszej w celu obsługi rozszerzeń ARCore dla AR Foundation lub pakietu ARCore SDK dla Unity (1.19 lub nowszej) w środowisku Unity 2018.4 lub nowszym.
Nowa obsługa trwałych kotwic w chmurze
Przed wprowadzeniem ARCore w wersji 1.20 obiekty Cloud Anchors można było rozwiązywać tylko przez 24 godziny po ich pierwszej hostowaniu. Trwałe kotwice w chmurze pozwalają utworzyć usługę Cloud Anchor z czasem życia danych (TTL) od 1 do 365 dni. Czas życia kotwicy możesz też przedłużyć, gdy jest już hostowana, za pomocą interfejsu Cloud Anchor Management API.
Używanie trwałych kotwic Cloud podlega nowym zasadom wycofywania usług Cloud Anchor.
C: Przewodnik dla programistów,
ArSession_hostAndAcquireNewCloudAnchorWithTtl
iArSession_estimateFeatureMapQualityForHosting
.Java: przewodnik dla programistów,
hostCloudAnchorWithTtl
iestimateFeatureMapQualityForHosting
.iOS: przewodnik dla programistów,
hostCloudAnchor:TTLDays:error:
iestimateFeatureMapQualityForHosting:
.ARCore Extensions for AR Foundation: przewodnik dla programistów aplikacji na Androida, przewodnik dla programistów iOS,
ARAnchorManager.HostCloudAnchor(ARAnchor, int)
,ARAnchorManager.SetAuthToken(string)
iARAnchorManager.EstimateFeatureMapQualityForHosting(Pose)
.Kierowanie na Androida: przewodnik dla programistów,
XPSession.CreateCloudAnchor(Anchor, int)
iXPSession.EstimateFeatureMapQualityForHosting(Pose)
.Kierowanie na system iOS: przewodnik dla programistów
XPSession.SetAuthToken(string)
iXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int)
.
Dodatkowe zmiany i aktualizacje
W informacjach o wersji poniżej znajdziesz dodatkowe poprawki błędów i inne zmiany powodujące niezgodność.
Nowości w ARCore w wersji 1.19.0
W tej wersji wprowadzono następujące ważne zmiany:
- Nowy interfejs API błyskawicznego rozmieszczania na Androida, Android NDK i Unity.
- Nowe wskazówki dotyczące tworzenia aplikacji na Androida 11 w Unity.
Szybkie miejsce docelowe
Interfejs Instant Places API pozwala użytkownikowi umieścić na ekranie obiekt AR bez konieczności czekania, aż ARCore wykryje geometrię powierzchni. Pozycja obiektu jest precyzowana w czasie rzeczywistym w miarę jak 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 zmieni się i stanie się nieprzezroczysty.
W tym klipie widać wirtualną postać Androida na rzeczywistej stole. Po umieszczeniu ilustracja jest ona biała i znacznie mniejsza. Gdy ARCore doprecyzuje swoje obliczenia wymiarów sceny, postać wskakuje na bardziej precyzyjną pozycję. Może to powodować różnicę w postrzeganej „rozmiarze” obiektu.
Szczegółowe informacje:
Urządzenia z Androidem:
Android NDK:
Unity:
Nowości w ARCore w wersji 1.18.0
W tej wersji wprowadzono następujące ważne zmiany:
- Nowy Depth API na Androida, Androida NDK i Unity.
- Nowe wskazówki dotyczące tworzenia zasobów Augmented Faces i importowania ich do Android Studio.
- Interfejs API Depth będzie obsługiwany w
4.1.0-preview.2
zarówno w przypadkuAR Foundation
, jak iARCore XR Plugin
.
Depth API
Na urządzeniach z obsługą głębi interfejs Depth API tworzy mapy głębi za pomocą kamery RGB urządzenia obsługującej ARCore lub aktywnego czujnika głębi (jeśli jest dostępny). Następnie możesz wykorzystać głębię kolorów na piksel z mapy głębi, aby zapewnić precyzyjne wyświetlanie wirtualnych obiektów przed prawdziwymi obiektami lub za nimi, co zapewnia użytkownikom realistyczne i realistyczne wrażenia.
Na przykład te obrazy przedstawiają wirtualną postać Androida w prawdziwej przestrzeni, z kurzem obok drzwi. Depth API prawidłowo zasłania grafikę za krawędzią trunku.
Szczegółowe informacje:
Urządzenia z Androidem:
Android NDK:
Unity:
Nowości w ARCore w wersji 1.17.0
Informacje dostępne w ARCore SDK na Androida
Dodaliśmy nowe metody pozwalające na buforowanie kilku klatek z aparatu. Wraz z innymi technikami, takimi jak renderowanie wielowątkowe, można to wykorzystać do zmniejszenia zmienności liczby klatek.
Dodano brakujące użycie czujnika głębi i metody pobierania docelowej liczby klatek na sekundę:
Zapoznaj się też z pełnymi informacjami o wersji pakietu Android SDK na Androida.
Informacje dostępne w ARCore SDK dla Unity
- W Unity w wersji 2018.2 lub nowszej dodaliśmy obsługę renderowania wielowątkowego, co w większości przypadków zwiększa wydajność i może zmniejszyć zmienność liczby klatek. To ustawienie projektu Unity, które znajduje się w sekcji Ustawienia projektu > Odtwarzacz > Android > Inne ustawienia > Renderowanie wielowątkowe. Więcej informacji znajdziesz w przewodniku dla programistów.
- Dodaliśmy
SessionStatus.ErrorCameraNotAvailable
iSessionStatus.ErrorIllegalState
, aby wskazać konkretne stany błędu sesji ARCore.
Zapoznaj się też z pełnymi informacjami o wersji pakietu ARCore SDK dla Unity.
Informacje dostępne w ARCore SDK na iOS
Rozmiar pliku binarnego pakietu SDK Cloud Anchors znacznie się zmniejszył.
W przypadku rozszerzonych rozpoznawania twarzy działa teraz kod bitowy.
Zapoznaj się też z pełnymi informacjami o wersji ARCore SDK na iOS.
Nowości w ARCore w wersji 1.16.0
Widoczne w ARCore SDK na Androida i Sceneform SDK na Androida.
W tej wersji wprowadzono następujące ważne zmiany:
- Większość urządzeń zwraca teraz dodatkowe obsługiwane konfiguracje aparatów o niższej rozdzielczości tekstury GPU niż domyślna rozdzielczość tekstury GPU urządzenia.
Więcej informacji znajdziesz na stronie Urządzenia obsługujące ARCore.
Te rozszerzone rozdzielczości GPU są dostępne poprzez interfejs API
getSupportedCameraConfigs(CameraConfigFilter)
.
Zobacz także:
Wyróżniona w kategorii ARCore Extensions for AR Foundation.
W tej wersji wprowadzono następujące ważne zmiany:
Funkcja
XRCameraConfiguration
AR Foundation została wzbogacona o metody pozwalające wybrać odpowiednią konfigurację kamery na podstawie określonych kryteriów. Do metod tych należą GetTextureDimensions(), GetFPSRange() i GetDepthSensorUsages(). Przeczytaj szczegółowe instrukcje.Minimalną zalecaną wersją rozszerzeń ARCore jest teraz Unity 2019.3.0f6. AR Foundation 3.1.0-preview.6 wymaga Unity w wersji 2019.3 lub nowszej.
W wieloplatformowym interfejsie AR API Unity używa teraz terminów Anchor, Cloud Anchor i Cloud Anchor ID. W związku z tym zaktualizowaliśmy dokumentację dotyczącą rozszerzeń ARCore.
Zobacz także:
Informacje dostępne w ARCore SDK dla Unity
W tym wydaniu wprowadziliśmy tę ważną zmianę:
- Większość urządzeń zwraca teraz dodatkowe obsługiwane konfiguracje aparatów o niższej rozdzielczości tekstury GPU niż domyślna rozdzielczość tekstury GPU urządzenia. Więcej informacji znajdziesz w artykule Urządzenia obsługujące ARCore. Te rozszerzone rozdzielczości GPU są dostępne za pomocą interfejsu API ARCoreCameraConfigFilter.
Zobacz także:
Pełne informacje o wersji pakietu ARCore SDK dla Unity
Nowości w ARCore w wersji 1.15.0
Wyróżniona w kategorii ARCore Extensions for AR Foundation.
W tej wersji wprowadzono następujące ważne zmiany.
Dodaliśmy przykładowy element CloudAnchors pokazujący, jak tworzyć współdzielone środowiska AR na Androida i iOS. Zobacz instrukcje dla Androida lub iOS.
Minimalną zalecaną wersją do używania z rozszerzeniami ARCore jest teraz Unity 2019.2.17f1.
Pełne informacje o wersji ARCore Extensions
Informacje dostępne w ARCore SDK dla Unity
W tej wersji występują następujące znane problemy.
Podgląd w wyszukiwarce może zablokować Unity, jeśli 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 w wyszukiwarce może się nie wyświetlić na urządzeniu, gdy rozdzielczość gry w Unity jest za wysoka. Aby temu zaradzić, zmniejsz rozdzielczość widoku gry w Unity w Edytorze.
Pełne informacje o wersji pakietu ARCore SDK dla Unity
Dodatkowe zmiany
W informacjach o wersji poniżej znajdziesz dodatkowe poprawki błędów i inne zmiany powodujące niezgodność.
Nowości w ARCore w wersji 1.14.0
W tej wersji wprowadzono następujące ważne zmiany.
Gdy aplikacja tymczasowo utraci kamerę z innej aplikacji na urządzeniu, przyczyna niepowodzenia śledzenia jest teraz bardziej szczegółowa:
Android:
TrackingFailureReason
toCAMERA_UNAVAILABLE
zamiastNONE
.Android NDK:
ArTrackingFailureReasons
toAR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLE
zamiastAR_TRACKING_FAILURE_REASON_NONE
.Unity:
Session.LostTrackingReason
toLostTrackingReason.CameraUnavailable
zamiastNone
.
Google gromadzi i przetwarza dane związane z korzystaniem przez Ciebie z pakietu ARCore Rozszerzenia zgodnie z Polityką prywatności Google i Warunkami korzystania z interfejsów API Google. Możesz zrezygnować z tej możliwości.
Nowości w ARCore w wersji 1.13.0
W tej wersji wprowadzono następujące ważne zmiany.
Obsługa rozszerzeń ARCore dla Fundacji AR Unity do tworzenia aplikacji na iOS z Cloud Anchors.
W informacjach o wersji poniżej znajdziesz dodatkowe poprawki błędów i inne zmiany powodujące niezgodność.
Nowości w ARCore w wersji 1.12.0
W tej wersji wprowadzono te zmiany:
Dodanie do systemu iOS funkcji rozszerzonej twarzy. Więcej informacji znajdziesz w tym omówieniu, quickstart i przewodniku dla programistów.
Obsługa rozszerzeń ARCore dla Fundacji AR Unity do tworzenia aplikacji na Androida za pomocą Cloud Anchors.
Te zmiany w Cloud Anchors:
- Aby zachować zgodność ze zaktualizowanymi wymaganiami dotyczącymi prywatności związanymi z używaniem pakietów SDK ARCore w wersji 1.12 lub nowszej, musisz wyraźnie poinformować użytkowników o używaniu tych kotwic w swojej aplikacji, dodając ten tekst oraz link do dodatkowych informacji na ekranie powiadomienia: „Aby wzbogacić tę sesję, Google przetworzy dane wizualne z Twojej kamery”. Możesz to zrobić, implementując zalecany proces powiadamiania użytkowników dostępny w naszej przykładowej aplikacji Cloud Anchor.
Więcej informacji znajdziesz w wymaganiach dotyczących prywatności użytkownika.
Więcej informacji o obiektach Cloud Anchor:
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 wprowadzono te zmiany:
Nazwa usługi ARCore została zmieniona na Usługi Google Play dla AR. Na urządzeniach Google Play jest teraz rozpowszechniana w ramach Usług Google Play.
W przypadku obsługiwanych urządzeń aparaty ARCore ustawiają kierowanie na 60 klatek na sekundę. W przypadku urządzeń, które go mają, priorytety mają czujnik głębi. Możesz użyć nowych filtrów konfiguracji kamery, aby ograniczyć liczbę klatek rejestrowanych przez kamerę do 30 kl./s, uniemożliwić ARCore korzystanie z czujnika głębi lub filtrować na podstawie obu opcji.
Więcej informacji o konfiguracji kamer:
Urządzenia z Androidem:
Android NDK:
Unity:
Nowości w ARCore w wersji 1.10.0
W tej wersji dodaliśmy nowe możliwości szacowania wpływu oświetlenia HDR do środowiska Lighting Estimation API na Androida oraz Androida NDK i Unity.
Te interfejsy API wykorzystują systemy uczące się do analizowania wejściowego obrazu z kamery i szacowania poziomu oświetlenia środowiskowego. Możesz użyć tych danych szacowania oświetlenia do renderowania bardzo realistycznego oświetlenia, w tym głównego światła kierunkowego, cieni, oświetlenia otoczenia, podświetleń zwierciadeł i odbić na obiektach wirtualnych. W efekcie powstają wirtualne treści, które wydają się bardziej realistyczne.
Szczegółowe informacje:
Urządzenia z Androidem:
Android NDK:
Unity:
Nowości w ARCore w wersji 1.9.0
Nowość w pakiecie ARCore SDK na Androida
W tej wersji dodaliśmy nowe interfejsy API i funkcje:
Przeglądarka Scene to przeglądarka, która umożliwia korzystanie z rzeczywistości rozszerzonej w Twojej witrynie. Pozwala użytkownikom urządzeń mobilnych z Androidem łatwo umieszczać i przeglądać hostowane w internecie modele 3D w swoim środowisku.
Nowe funkcje obrazów rozszerzonych:
ARCore śledzi teraz przenoszenie obrazów rozszerzonych. Przykładem ruchomych obrazów może być reklama przejeżdżającego autobusu lub obraz na płaskim obiekcie trzymanym przez użytkownika, który porusza ręką.
Po wykryciu obrazu ARCore może kontynuować śledzenie jego pozycji i orientacji, nawet jeśli obraz został tymczasowo przeniesiony poza pole widzenia aparatu.
Użyj narzędzia
AugmentedImage#getTrackingMethod()
(Java) lubArAugmentedImage_getTrackingMethod()
(NDK), aby określić, czy obraz rozszerzony jest obecnie śledzony przez aparat (FULL_TRACKING
) czy śledzony na podstawie ostatniej znanej pozycji (LAST_KNOWN_POSE
).
Dokumentacja usługi Cloud Anchors zawiera teraz bardziej szczegółowe omówienie sposobu hostowania i rozpoznawania kotwic.
Nowość w pakiecie ARCore SDK na platformę Unity
Nowe funkcje obrazów rozszerzonych:
ARCore śledzi teraz przenoszenie obrazów rozszerzonych. Przykładem ruchomych obrazów może być reklama przejeżdżającego autobusu lub obraz na płaskim obiekcie trzymanym przez użytkownika, gdy będzie nim poruszał.
Po wykryciu obrazu ARCore może kontynuować śledzenie jego pozycji i orientacji, nawet jeśli obraz został tymczasowo przeniesiony poza pole widzenia aparatu.
Nowy interfejs API
AugmentedImage.GetTrackingMethod()
umożliwia aplikacji określenie, czy obraz rozszerzony jest obecnie śledzony przez aparat (FullTracking
), czy też śledzony na podstawie jego ostatniej znanej pozycji (LastKnownPose
).
Dokumentacja usługi Cloud Anchors zawiera teraz bardziej szczegółowe omówienie sposobu hostowania i rozpoznawania kotwic.
Nowość w pakiecie ARCore SDK na iOS
Obsługa tych urządzeń:
iPad piątej generacji
iPad Air trzeciej generacji
Dokumentacja usługi Cloud Anchors zawiera teraz bardziej szczegółowe omówienie sposobu hostowania i rozpoznawania kotwic.