Modifiche nuove e importanti in ARCore.
Novità di ARCore v1.50.0
Modifiche all'SDK ARCore targetSdkVersion
targetSdkVersion
di ARCore è stato aggiornato al livello API 36 di Android. Se la tua
app non specifica un
targetSdkVersion
,
il targetSdkVersion
della tua app diventerà 36 a causa dell'unione
del manifest.
Per Unity, specificare un livello API target in Project
Settings > Player > Android > Other Settings (Impostazioni progetto > Player > Android > Altre impostazioni) del progetto Unity sostituirà il valore targetSdkVersion
di ARCore.
Novità di ARCore v1.49.0
Varie correzioni di bug e miglioramenti delle prestazioni
Novità di ARCore v1.48.0
Il supporto di Unity 6 e AR Foundation 6 è stato rilasciato completamente
Le estensioni ARCore per AR Foundation di Unity ora supportano AR Foundation 6. Utilizza i seguenti metodi di installazione per ottenere una versione compatibile di ARCore Extensions per AR Foundation:
- Fino al giorno
Add package from git url...
: utilizzahttps://github.com/google-ar/arcore-unity-extensions.git#arf6
, - Tramite
Add package from tarball...
: utilizza una release indicata daarf6
dalla pagina delle release.
Per eseguire l'upgrade del progetto da AR Foundation 5 ad AR Foundation 6, consulta la guida seguente.
Modifiche che provocano un errore e modifiche al comportamento
- L'SDK non supporta più le destinazioni di deployment per le versioni di iOS precedenti alla 13.0
Novità di ARCore v1.47.0
Supporto beta per Unity 6 e AR Foundation 6
Le estensioni ARCore per AR Foundation di Unity ora supportano la versione beta di AR Foundation 6 per supportare Unity 6. Utilizza i seguenti metodi di installazione per ottenere una versione compatibile di ARCore Extensions per AR Foundation:
- Fino al giorno
Add package from git url...
: utilizzahttps://github.com/google-ar/arcore-unity-extensions.git#arf6
, - Tramite
Add package from tarball...
: utilizza una release indicata daarf6
dalla pagina delle release.
Per eseguire l'upgrade del progetto da AR Foundation 5 ad AR Foundation 6, consulta la guida seguente.
Correzioni di bug
- Il piano di esempio di ancoraggio cloud fisso non è trasparente per Unity 6
Altre modifiche
- Il branch
main
del repository GitHub di ARCore Extensions è stato modificato per monitorare il brancharf5
.
Novità di ARCore v1.46.0
Modifiche all'SDK ARCore targetSdkVersion
targetSdkVersion
di ARCore è stato aggiornato al livello API 35 di Android. Se la tua
app non specifica un
targetSdkVersion
,
il targetSdkVersion
della tua app diventerà 35 a causa dell'unione
del manifest.
Per Unity, specificare un livello API target in Project
Settings > Player > Android > Other Settings (Impostazioni progetto > Player > Android > Altre impostazioni) del progetto Unity sostituirà il valore targetSdkVersion
di ARCore.
Novità di ARCore v1.45.0
API Flash Mode
ARCore ora supporta l'attivazione della modalità torcia del dispositivo, consentendo una migliore percezione in ambienti bui.
Android (Kotlin/Java)
Config.FlashMode
: opzione di configurazione per attivare o disattivare il flash sul dispositivo.- Per ulteriori dettagli su come rilevare le funzionalità del flash e come attivare la modalità torcia, consulta la Guida per gli sviluppatori.
Android NDK (C)
ArFlashMode
: opzione di configurazione per attivare o disattivare il flash sul dispositivo.- Per ulteriori dettagli su come rilevare le funzionalità del flash e come attivare la modalità torcia, consulta la Guida per gli sviluppatori.
Le estensioni ARCore per AR Foundation di Unity supportano AR Foundation 5
Le estensioni ARCore per AR Foundation ora supportano ufficialmente AR Foundation 5. Quando utilizzi AR Foundation 5 (la versione verificata su Unity 2022 e 2023), utilizza i seguenti metodi di installazione per ottenere una versione compatibile di ARCore Extensions per AR Foundation:
- Fino al giorno
Add package from git url...
: utilizzahttps://github.com/google-ar/arcore-unity-extensions.git#arf5
, - Tramite
Add package from tarball...
: utilizza una release indicata daarf5
dalla pagina delle release.
I progetti che rimangono sulla versione 4 di AR Foundation possono utilizzare i seguenti metodi di installazione:
- Fino al giorno
Add package from git url...
: utilizzahttps://github.com/google-ar/arcore-unity-extensions.git#arf4
, - Tramite
Add package from tarball...
: utilizza una release indicata daarf4
dalla pagina delle release.
Per eseguire l'upgrade del progetto da AR Foundation 4 ad AR Foundation 5, consulta la guida alla migrazione.
I simboli di scripting personalizzato,
come ARCORE_USE_ARF_5
dell'assistenza beta, non vengono più utilizzati.
Novità di ARCore v1.44.0
Questa release non include nuove funzionalità.
Novità di ARCore v1.43.0
Migrazione dell'API Places in Geospatial Creator
La funzionalità di ricerca di Geospatial Creator ora utilizza la nuova API Places di Google. Per utilizzare la funzionalità di ricerca, abilita l'"API Places (New)" in Google Cloud Console.
Novità di ARCore v1.42.0
Agganciare al riquadro in Geospatial Creator per Unity
È stato aggiunto un pulsante "Aggancia a riquadro" al riquadro
dell'inspector dell'editor ARGeospatialCreatorAnchor
. Questo pulsante imposta il valore di altitudine solo per l'editor di un ancoraggio del terreno o del tetto sulla parte superiore di una geometria della 3D Tile alla latitudine e alla longitudine attuali dell'ancoraggio. Tieni presente che questa proprietà non influisce sul
comportamento in fase di runtime. In questo modo, la posizione dell'ancora nell'editor corrisponde
alla sua posizione in fase di runtime.
Novità di ARCore v1.41.0
API Geospatial Creator
Geospatial Creator per Unity ora include il supporto per la creazione e la manipolazione di oggetti Geospatial Creator in modalità Editor. Le classi e le API appena disponibili sono descritte nella Guida all'API Geospatial Creator.
Supporto delle versioni 5.x di AR Foundation (beta)
Le estensioni ARCore per AR Foundation di Unity ora supportano le versioni di AR Foundation 5.x. Per eseguire la migrazione di un progetto esistente ad AR Foundation, consulta la guida alla migrazione.
Novità di ARCore v1.40.0
Semantica delle scene su iOS
L'API Scene Semantics è ora disponibile nell'SDK ARCore per iOS, nonché in ARCore Extensions per AR Foundation di Unity, che ha come target la piattaforma iOS. L'API Scene Semantics consente agli sviluppatori di comprendere la scena che circonda l'utente in tempo reale, etichettando i pixel in 11 classi di componenti esterni. Per ulteriori informazioni, consulta la sezione Introduzione alla semantica delle scene.
iOS
Unity (AR Foundation)
Cercare punti di interesse in Geospatial Creator per Unity
Geospatial Creator per Unity ora supporta una ricerca testuale per posizionare la visualizzazione delle 3D Tiles fotografiche. Per saperne di più, consulta Cercare punti d'interesse in Geospatial Creator.
Novità di ARCore v1.39.0
Questa release non include nuove funzionalità.
Novità di ARCore v1.38.0
Questa release non include nuove funzionalità.
Novità di ARCore v1.37.0
Semantica della scena
La semantica della scena fornisce dettagli più ricchi sulla scena circostante, rendendo più facile la comprensione del mondo che circonda l'utente. Scene Semantics esegue un modello di ML sul feed delle immagini della videocamera e fornisce un'immagine semantica in cui ogni pixel corrisponde a una delle 11 etichette di concetti esterni.
Per ulteriori informazioni, consulta Introduzione alla semantica delle scene e l'app di esempio semantics_java.
Geometria di Streetscape
Streetscape Geometry è una nuova API ARCore Geospatial che fornisce la geometria di edifici e terreni in un'area intorno all'utente quando l'API Geospatial è abilitata.
Android (Kotlin/Java)
Consulta la Guida per gli sviluppatori di Streetscape Geometry (Kotlin/Java). Inoltre, l'app di esempio geospatial_java è stata aggiornata per includere Streetscape Geometry.
Android NDK (C)
Per saperne di più, consulta la Guida per gli sviluppatori di Streetscape Geometry (C).
Unity (AR Foundation)
Per saperne di più, consulta la Guida per gli sviluppatori di Streetscape Geometry (Unity).
iOS
Per saperne di più, consulta la Guida per gli sviluppatori di Streetscape Geometry (iOS). Inoltre, l'app GeospatialExample è stata aggiornata per includere Streetscape Geometry.
GARStreetscapeGeometry
:GARStreetscapeGeometry.mesh
fornisce mesh 3D.GARStreetscapeGeometry.meshTransform
fornisce la trasformazione dell'origine della geometria rispetto allo spazio globale della sessione.GARStreetscapeGeometry.trackingState
mantiene lo stato del monitoraggio.GARStreetscapeGeometry.type
indica se si tratta di una geometria del terreno o di un edificio.GARStreetscapeGeometry.quality
fornisce la qualità della geometria.GARStreetscapeGeometry.identifier
fornisce l'identificatore univoco della geometria.GARSession.createAnchorOnStreetscapeGeometry:transform:error:
crea un ancoraggio nella posizione e nell'orientamento specificati.GARSession.raycastStreetscapeGeometry:direction:error:
esegue un raycast sulla geometria di Streetscape caricata nella scena.
Ancoraggi sul tetto
Gli ancoraggi sul tetto sono un nuovo tipo di ancoraggio geospaziale che ti aiuta ad ancorare i contenuti a un tetto.
Android (Kotlin/Java)
Vedi Ancore geospaziali (Java). Inoltre, l'app di esempio geospatial_java è stata aggiornata per includere gli ancoraggi sul tetto.
Android NDK (C)
Per ulteriori informazioni, consulta la sezione Ancore geospaziali (C).
Unity (AR Foundation)
Per ulteriori informazioni, consulta la sezione Ancore geospaziali. Inoltre, l'esempio geospaziale è stato aggiornato per includere gli ancoraggi sul tetto.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
fornisce un punto di ancoraggio per gli oggetti di gioco nella scena in base a latitudine, longitudine, altitudine sopra il tetto e orientamento specificati.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
iOS
Per saperne di più, consulta Ancore geospaziali (iOS). Inoltre, l'app GeospatialExample è stata aggiornata per includere gli ancoraggi sul tetto.
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
crea un ancoraggio sul tetto nella posizione specificata, con l'altitudine sopra il tetto in metri e l'orientamento rispetto alla Terra.GARCreateAnchorOnRooftopFuture
contiene lo stato asincrono della risoluzione di un ancoraggio sul tetto.GARRooftopAnchorState
descrive lo stato di risoluzione di un ancoraggio sul tetto.
Profondità geospaziale
Quando in una sessione ARCore sono attive sia l'API Depth che la modalità Geometria di Streetscape nelle aree con copertura VPS, le immagini di profondità generate vengono migliorate utilizzando la geometria di Streetscape. La geometria di Streetscape è integrata in ogni immagine di profondità generata fino a un raggio di 65.535 metri. Per usufruire di questo vantaggio, non è necessario apportare modifiche quando chiami l'API Depth.
Android (Kotlin/Java)
Per ulteriori informazioni, consulta Profondità geospaziale (Java).
Android NDK (C)
Per ulteriori informazioni, consulta Profondità geospaziale (C).
Unity (AR Foundation)
Per ulteriori informazioni, consulta Profondità geospaziale (C).
iOS
Scene Semantics non è attualmente disponibile per iOS.
Supporto del rendering Vulkan
ARCore ora fornisce il supporto per il rendering Vulkan esponendo l'immagine della videocamera tramite un AHardwareBuffer
. Puoi utilizzare questo buffer hardware associandolo a un VkImage
.
Per ulteriori informazioni, consulta Rendering dell'applicazione ARCore utilizzando Vulkan e l'app di esempio hello_ar_vulkan_c.
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Il rendering Vulkan al momento non è disponibile per Unity con AR Foundation.
Stabilizzazione elettronica dell'immagine (EIS)
Puoi configurare ARCore per utilizzare la stabilizzazione elettronica dell'immagine, che uniforma i frame della videocamera per un'esperienza utente più fluida.
Per saperne di più, consulta Attivazione della stabilizzazione elettronica delle immagini e l'app di esempio hello_eis_kotlin.
Android (Kotlin/Java)
Config.ImageStabilizationMode
Frame.transformCoordinates3d()
Session.isImageStabilizationModeSupported()
- Esiste un problema noto per cui la chiamata a
Frame.transformCoordinates3d()
con coordinate 2D diverse daOPENGL_NORMALIZED_DEVICE_COORDINATES
causa un arresto anomalo anziché generareIllegalArgumentException
. Questo problema verrà risolto nella release successiva.
Android NDK (C)
ArImageStabilizationMode
ArFrame_transformCoordinates3d()
ArSession_isImageStabilizationModeSupported()
- Esiste un problema noto per cui la chiamata di
ArFrame_transformCoordinates3d()
con coordinate 2D diverse daAR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATES
causerà l'interruzione dell'app anziché la restituzione diAR_ERROR_INVALID_ARGUMENT
. Questo problema verrà risolto nella release successiva.
Unity (AR Foundation)
La stabilizzazione elettronica dell'immagine al momento non è disponibile per Unity con AR Foundation.
iOS
L'EIS non è attualmente disponibile per iOS.
API asincrone ARCore
Questa release introduce nuove API asincrone ARCore per migliorare l'ergonomia quando si lavora con operazioni asincrone, seguendo il paradigma Future e Promise.
Android (Kotlin/Java)
- Risoluzione degli ancoraggi del terreno: utilizza
Earth.resolveAnchorOnTerrainAsync()
per ottenere unResolveAnchorOnTerrainFuture
. Il vecchio simboloEarth.resolveAnchorOnTerrain()
è stato ritirato e potrebbe essere rimosso in una versione successiva di ARCore. - Risoluzione degli ancoraggi cloud: utilizza
Session.resolveCloudAnchorAsync()
per ottenere unResolveCloudAnchorFuture
. Il vecchio simboloSession.resolveCloudAnchor()
è stato ritirato e potrebbe essere rimosso in una versione successiva di ARCore. - Hosting di ancoraggi cloud: utilizza
Session.hostCloudAnchorAsync()
per ottenere unHostCloudAnchorFuture
. I vecchi simboliSession.hostCloudAnchor()
eSession.hostCloudAnchorWithTtl()
sono stati ritirati e potrebbero essere rimossi in una versione successiva di ARCore. - Verifica la disponibilità dell'APK: utilizza
ArCoreApk.checkAvailabilityAsync()
per registrare un callback. Il vecchio simboloArCoreApk.checkAvailability()
non è stato ritirato.
Android NDK (C)
- Risoluzione degli ancoraggi del terreno: utilizza
ArEarth_resolveAnchorOnTerrainAsync()
per ottenere unArResolveAnchorOnTerrainFuture
o utilizzaArResolveAnchorOnTerrainCallback
. Il vecchio simboloArEarth_resolveAndAcquireNewAnchorOnTerrain()
è stato ritirato e potrebbe essere rimosso in una versione successiva di ARCore. - Risoluzione degli ancoraggi cloud: utilizza
ArSession_resolveCloudAnchorAsync()
per ottenere unArResolveCloudAnchorFuture
o utilizzaArResolveCloudAnchorCallback
. Il vecchio simboloArSession_resolveAndAcquireNewCloudAnchor()
è stato ritirato e potrebbe essere rimosso in una versione successiva di ARCore. - Hosting di ancoraggi cloud: utilizza
ArSession_hostCloudAnchorAsync()
per ottenere unArHostCloudAnchorFuture
o utilizzaArHostCloudAnchorCallback
. I vecchi simboliArSession_hostAndAcquireNewCloudAnchor()
eArSession_hostAndAcquireNewCloudAnchorWithTtl()
sono stati ritirati e potrebbero essere rimossi in una versione successiva di ARCore. - Verifica la disponibilità dell'APK: utilizza
ArCoreApk_checkAvailabilityAsync()
per registrare un callback. Il vecchio simboloArCoreApk_checkAvailability()
non è stato ritirato.
Unity (AR Foundation)
- Risoluzione degli ancoraggi del terreno: utilizza
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
per ottenere unResolveAnchorOnTerrainPromise
. Il vecchio simboloARAnchorManagerExtensions.ResolveAnchorOnTerrain()
è stato ritirato e potrebbe essere rimosso in una versione successiva di ARCore. - Risoluzione degli ancoraggi cloud: utilizza
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
per ottenere unResolveCloudAnchorPromise
. Il vecchio simboloARAnchorManagerExtensions.ResolveCloudAnchorId()
è stato ritirato e potrebbe essere rimosso in una versione successiva di ARCore. - Hosting di ancoraggi cloud: utilizza
ARAnchorManagerExtensions.HostCloudAnchorAsync()
per ottenere unHostCloudAnchorPromise
. I vecchi simboliARAnchorManagerExtensions.HostCloudAnchor()
sono stati ritirati e potrebbero essere rimossi in una versione successiva di ARCore.
iOS
- Risoluzione degli ancoraggi del terreno: utilizza
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
per ottenere unGARCreateAnchorOnTerrainFuture
. Il vecchio simboloGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
è stato ritirato e potrebbe essere rimosso in una versione successiva di ARCore. - Risoluzione degli ancoraggi cloud: utilizza
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
per ottenere unGARResolveCloudAnchorFuture
. Il vecchio simboloGARSession.resolveCloudAnchorWithIdentifier:error:
è stato ritirato e potrebbe essere rimosso in una versione successiva di ARCore. - Hosting di ancoraggi cloud: utilizza
GARSession.hostCloudAnchor:TTLDays:completionHandler:error:
per ottenere unGARHostCloudAnchorFuture
. I vecchi simboliGARSession.hostCloudAnchor:error:
eGARSession.hostCloudAnchor:TTLDays:error:
sono stati ritirati e potrebbero essere rimossi in una versione successiva di ARCore.
Novità di ARCore v1.36.0
Supporto di Swift Package Manager su iOS
L'SDK ARCore per iOS ora supporta ufficialmente Swift Package Manager. Consulta Attivare la AR nella tua app per iOS per istruzioni su come eseguire l'integrazione con ARCore utilizzando Swift Package Manager.
Novità di ARCore v1.35.0
La precisione della posa spaziale sostituisce la direzione con l'imbardata
Tutte le pose geospaziali ora espongono la loro precisione di orientamento della rotazione di imbardata, sostituendo la precisione della direzione.
- Java/Kotlin: sostituisci
GeospatialPose.getHeading()
conGeospatialPose.getEastUpSouthQuaternion()
eGeospatialPose.getHeadingAccuracy()
conGeospatialPose.getOrientationYawAccuracy()
. - C: Sostituisci
ArGeospatialPose_getHeading()
conArGeospatialPose_getEastUpSouthQuaternion()
eArGeospatialPose_getHeadingAccuracy()
conArGeospatialPose_getOrientationYawAccuracy()
. - iOS: sostituisci
GARGeospatialTransform.heading
conGARGeospatialTransform.eastUpSouthQTarget
eGARGeospatialTransform.headingAccuracy
conGARGeospatialTransform.orientationYawAccuracy
. - Unity: sostituisci
GeospatialPose.Heading
conGeospatialPose.EunRotation
eGeospatialPose.HeadingAccuracy
conGeospatialPose.OrientationYawAccuracy
.
Ulteriori modifiche e aggiornamenti
Consulta le note di rilascio per altri cambiamenti, correzioni di bug e miglioramenti delle prestazioni:
- Note di rilascio dell'SDK ARCore per Android
- Note di rilascio di ARCore per Android NDK
- Note di rilascio dell'SDK ARCore per iOS
- Note di rilascio delle estensioni ARCore per AR Foundation
Novità di ARCore v1.34.0
Controllare se le funzionalità geospaziali sono disponibili nella posizione attuale del dispositivo
L'API Geospatial ora può verificare la disponibilità del Visual Positioning System (VPS) in una posizione orizzontale specificata in fase di runtime. Questa API può essere utilizzata senza una sessione AR attiva, ad esempio per presentare un pulsante "Entra in AR" solo quando è disponibile VPS.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- C:
ArSession_checkVpsAvailabilityAsync()
- iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (AR Foundation):
AREarthManager.CheckVpsAvailability()
Orientamento della posa spaziale
Le pose geospaziali ora mostrano il loro orientamento nello spazio 3D.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Unity:
GeospatialPose.EunRotation()
Conversioni della posa spaziale
Le pose geospaziali ora possono essere convertite in pose nello spazio reale (AR) e viceversa.
Per ottenere la posa geospaziale da una posa AR:
- Java/Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Unity:
AREarthManager.Convert(Pose)
Per ottenere la posa AR da una posa geospaziale:
- Java/Kotlin:
Earth.getPose()
- C:
ArEarth_getPose()
- iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Unity:
AREarthManager.Convert(GeospatialPose)
Le pose spaziali ottenute da queste funzioni hanno un valore di intestazione impostato su zero. Utilizza invece quanto segue:
- Android (Java/Kotlin/C): il quaternione EUS della posa
- iOS:
eastUpSouthQTarget
della posa - Unity:
EunRotation
della posa
Ulteriori modifiche e aggiornamenti
Consulta le note di rilascio per altri cambiamenti, correzioni di bug e miglioramenti delle prestazioni:
- Note di rilascio dell'SDK ARCore per Android
- Note di rilascio di ARCore per Android NDK
- Note di rilascio dell'SDK ARCore per iOS
- Note di rilascio delle estensioni ARCore per AR Foundation
Novità di ARCore v1.33.0
Nuovo endpoint Cloud Anchors
- Per utilizzare Cloud Anchors, ora devi abilitare l'API ARCore anziché la precedente API ARCore Cloud Anchor, che ora è deprecata. Per supportare le versioni precedenti dell'app, puoi attivarle entrambe durante la transizione. Le app create con l'SDK ARCore 1.32.0 e versioni precedenti avranno come target l'API precedente, mentre le app create con l'SDK ARCore 1.33.0 e versioni successive avranno come target la nuova API. Nota:
- La nuova API utilizza il nome di dominio
arcore.googleapis.com
anzichéarcorecloudanchor.googleapis.com
. - Se utilizzi una chiave API limitata dall'API, devi consentire l'API ARCore.
- Se invii richieste all'API ARCore Cloud Anchor Management dal backend, devi anche modificare il nome di dominio in
arcore.googleapis.com
dopo aver attivato l'API ARCore. - La vecchia API/endpoint continuerà a essere supportata fino ad agosto 2023.
- Per maggiori dettagli, consulta Modifiche all'endpoint Cloud Anchor di ARCore 1.33.
- La nuova API utilizza il nome di dominio
Ancoraggi del terreno
- L'API Geospatial Terrain Anchor crea un ancoraggio a un'altitudine e una posizione orizzontale specificate rispetto al terreno della posizione orizzontale.
Ulteriori modifiche e aggiornamenti
Consulta le note di rilascio per altri cambiamenti, correzioni di bug e miglioramenti delle prestazioni:
- Note di rilascio dell'SDK ARCore per Android
- Note di rilascio di ARCore per Android NDK
- Note di rilascio dell'SDK ARCore per iOS
- Note di rilascio delle estensioni ARCore per AR Foundation
Novità di ARCore v1.32.0
Questa release non include nuove funzionalità.
Android e Unity (AR Foundation) per Android
- L'
targetSdkVersion
di ARCore è stato aggiornato al livello API 32 di Android. Se la tua app non specifica untargetSdkVersion
, iltargetSdkVersion
della tua app diventerà 32 a causa dell'unione del file manifest.- SDK Android: la specifica di un
targetSdkVersion
nel filebuild.gradle
oAndroidManifest.xml
del progetto sostituirà il valoretargetSdkVersion
di ARCore. - AR Foundation per Android: se specifichi un livello API target in Project Settings > Player > Android > Other Settings (Impostazioni progetto > Player > Android > Altre impostazioni) del tuo progetto Unity, il valore
targetSdkVersion
di ARCore verrà sostituito.
- SDK Android: la specifica di un
Ulteriori modifiche e aggiornamenti
Consulta le note di rilascio per altri cambiamenti, correzioni di bug e miglioramenti delle prestazioni:
- Note di rilascio dell'SDK ARCore per Android
- Note di rilascio di ARCore per Android NDK
- Note di rilascio dell'SDK ARCore per iOS
- Note di rilascio delle estensioni ARCore per AR Foundation
Novità di ARCore v1.31.0
API ARCore Geospatial
La nuova API ARCore Geospatial utilizza i dati dei modelli 3D di Google Earth e i dati delle immagini di Street View di Google Maps per consentire alla tua app di offrire esperienze di realtà aumentata immersive, su scala globale e basate sulla posizione.
Consulta la Guida introduttiva all'API ARCore Geospatial per la documentazione per sviluppatori specifica della piattaforma e per iniziare a utilizzare la nuova API Geospatial.
Profondità a lungo raggio
L'API ARCore Depth è ora ottimizzata per includere il rilevamento della profondità a lungo raggio, aumentando la gamma di osservazioni della profondità rappresentabili. Vengono utilizzati tutti i 16 bit dell'immagine di profondità, fornendo un intervallo massimo di 65.535 millimetri. In precedenza venivano compilati solo 13 bit, con un limite di 8191 millimetri.
Consulta le modifiche alla profondità nella documentazione per sviluppatori specifica della piattaforma per comprendere le modifiche all'API Depth.
Note specifiche della piattaforma
Android
Nuove API ARCore Geospatial
Java
Earth
fornisce la possibilità di localizzazione in coordinate relative alla Terra.Earth.createAnchor()
crea un nuovoAnchor
nella posizione e nell'orientamento specificati rispetto alla Terra.
Earth.Earthstate
descrive lo stato attuale diEarth
, incluso il suoTrackingState
.GeospatialPose
descrive una posizione, un'altitudine e una direzione della bussola specifiche rispetto alla Terra.
C
ArEarth
fornisce la possibilità di localizzazione in coordinate relative alla Terra.ArEarth_acquireNewAnchor()
crea un nuovoAnchor
nella posizione e nell'orientamento specificati rispetto alla Terra.ArEarthState
descrive lo stato attuale diArEarth
, incluso il suoArTrackingState
.
ArGeospatialPose
descrive una posizione, un'altitudine e una direzione della bussola specifiche rispetto alla Terra.
API ARCore Depth aggiornate
Java
- Le chiamate di funzione dell'API Depth sono cambiate:
Frame.acquireDepthImage
aFrame.acquireDepthImage16Bits
.Frame.acquireRawDepthImage
aFrame.acquireRawDepthImage16Bits
.- I formati delle immagini di output per entrambe le chiamate sono cambiati da
android.graphics.ImageFormat#DEPTH16
aandroid.hardware.HardwareBuffer#D_16
. - La profondità è ancora rappresentata come un numero intero a 16 bit in unità di millimetri, ma ora tutti i 16 bit vengono utilizzati per rappresentare la profondità, consentendo a un intervallo esprimibile massimo di passare da 8191 mm a 65535 mm.
- Le chiamate di funzione dell'API Depth
Frame.acquireDepthImage
eFrame.acquireRawDepthImage
sono obsolete. UtilizzaFrame.acquireDepthImage16Bits
eFrame.acquireRawDepthImage16Bits
in alternativa.
- Le chiamate di funzione dell'API Depth sono cambiate:
C
- Le chiamate di funzione dell'API Depth sono cambiate:
ArFrame_acquireDepthImage
aArFrame_acquireDepthImage16Bits
.- Da
ArFrame_acquireRawDepthImage
aArFrame_acquireRawDepthImage16Bits
- I formati delle immagini di output per entrambe le chiamate sono cambiati da
AR_IMAGE_FORMAT_DEPTH16
aAR_IMAGE_FORMAT_D_16
. - La profondità è ancora rappresentata come un numero intero a 16 bit in unità di millimetri, ma ora tutti i 16 bit vengono utilizzati per rappresentare la profondità, consentendo a un intervallo esprimibile massimo di passare da 8191 mm a 65535 mm.
- Le chiamate di funzione dell'API Depth
ArFrame_acquireDepthImage
eArFrame_acquireRawDepthImage
sono obsolete. UtilizzaArFrame_acquireDepthImage16Bits
eArFrame_acquireRawDepthImage16Bits
.
- Le chiamate di funzione dell'API Depth sono cambiate:
Unity (AR Foundation)
Nuove API ARCore Geospatial:
AREarthManager
fornisce la possibilità di localizzazione in coordinate relative alla Terra.EarthTrackingState
recupera lo stato di monitoraggio di Earth per l'ultimo fotogramma.EarthState
mantiene le condizioni di errore di Earth.
GeospatialPose
descrive una posizione specifica, l'altitudine e la direzione della bussola rispetto alla Terra.ARGeospatialAnchor
fornisce un ancoraggio per gli oggetti di gioco nella scena, specificato in una posizione e un orientamento rispetto alla Terra.
iOS
Nuove API ARCore Geospatial:
GAREarth
Fornisce la localizzazione relativa alla Terra.GAREarthState.earthState
gestisce le condizioni e gli stati di errore.GAREarthState.trackingState
mantiene lo stato di monitoraggio, necessario per i dati geospaziali.
GARGeospatialTransform
Una rappresentazione di una trasformazione globale che include posizione, direzione, altitudine e stime di precisione.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
Crea un ancoraggio spaziale nella posizione e nell'orientamento specificati rispetto alla Terra.
Altre modifiche
Consulta le note di rilascio per altri cambiamenti, correzioni di bug e miglioramenti delle prestazioni:
- Note di rilascio dell'SDK ARCore per Android
- Note di rilascio di ARCore per Android NDK
- Note di rilascio dell'SDK ARCore per iOS
- Note di rilascio delle estensioni ARCore per AR Foundation
Novità di ARCore v1.30.0
Questa release non include nuove funzionalità.
Android
- Valori restituiti dell'API annotati con
@NonNull
e@Nullable
. - Sono state aggiornate le versioni degli strumenti di compilazione utilizzati per la creazione degli esempi: Gradle alla versione 7.0.2 e il plug-in Android per Gradle alla versione 7.0.4. L'upgrade di questi strumenti non è richiesto per le applicazioni ARCore esistenti. Per nuove funzionalità, problemi noti, informazioni sull'incompatibilità, consulta la documentazione di Android sul plug-in Android per Gradle.
Unity (AR Foundation)
È stata aggiunta una nuova release di
arcore-unity-extensions-without-edm4u.tgz
. Questa variante della release non raggruppa dipendenze esterne come External Dependency Manager per Unity e consente aggiornamenti a EDM. L'utilizzo di questa versione Lite potrebbe risolvere i problemi di incompatibilità durante l'utilizzo delle librerie Firebase. Per iniziare, consulta le istruzioni per l'installazione delle estensioni ARCore per AR Foundation.È stato eseguito l'upgrade di ExternalDependencyManager alla versione 1.2.168 per supportare meglio la versione 2021.2 e successive. Per ulteriori dettagli, consulta il log delle modifiche di EDM.
È stato risolto il problema per cui la configurazione della sessione ARCore viene eseguita a ogni frame anche se non sono state apportate modifiche alla configurazione della sessione, causando un calo degli FPS.
iOS
- Varie correzioni di bug e miglioramenti delle prestazioni.
Novità di ARCore v1.29.0
Questa release non include nuove funzionalità.
Android
- hello_ar_java e hello_ar_kotlin: è stato modificato il colore di un oggetto quando viene posizionato utilizzando
SCREENSPACE_WITH_APPROXIMATE_DISTANCE
per distinguere meglio gli oggetti posizionati utilizzando il posizionamento istantaneo. - persistent_cloud_anchor_java: è stata aggiunta una dipendenza di build mancante all'esempio. Corregge un bug per cui l'hosting di qualsiasi ancora aveva lo stato
CloudAnchorState ERROR_NOT_AUTHORIZED
anche se il progetto era configurato correttamente.
Unity (AR Foundation)
- Il pacchetto ARCore Extensions ora dipende da ARKit XR Plugin per garantire che la versione di AR Foundation installata sia compatibile con la versione di ARKit XR Plugin. È stato corretto un errore di compilazione durante l'installazione di ARCore Extensions su Unity 2019.x e l'abilitazione del plug-in XR ARKit.
- Le impostazioni del progetto ARCore Extensions sono state spostate da Impostazioni progetto > XR > ARCore Extensions a Impostazioni progetto > Gestione plug-in XR > ARCore Extensions.
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
eARCoreRecordingConfig
sono stati spostati da Crea > XR > Estensioni ARCore al menu Crea > XR.
iOS
- Varie correzioni di bug e miglioramenti delle prestazioni.
Note di rilascio complete
- Note di rilascio complete dell'SDK ARCore per Android
- Note di rilascio complete di ARCore per Android NDK
- Note di rilascio complete dell'SDK ARCore per iOS
- Note di rilascio delle estensioni ARCore per AR Foundation
Novità di ARCore v1.28.0
- A partire da novembre 2022, le app con funzionalità AR non potranno più acquisire immagini NDK o metadati delle immagini. Le versioni dell'SDK interessate dipendono dalla funzione specifica chiamata. Per saperne di più, consulta l'annuncio sul ritiro.
- C: le chiamate a
ArImage_getNdkImage()
eArImage_getNdkCameraMetadata()
restituiranno semprenullptr
per gli oggettiAImage
eACameraMetadata
. - Java: l'oggetto
Image
restituito daFrame#acquireCameraImage()
avrà dimensioni pari a0
x0
pixel. Le chiamate al numeroFrame#getImageMetadata()
genereranno sempreIllegalArgumentException
. - Unity (AR Foundation): quando utilizzi AR Foundation 2.1 (Unity 2019 LTS), le chiamate a
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
restituiranno semprefalse
. AR Foundation 4.x e versioni successive non sono interessate, le chiamate aXRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
si comporteranno normalmente. - SDK ARCore per Unity (deprecato): le chiamate a
Frame.CameraImage.AcquireCameraImageBytes()
avranno dimensioni di0
x0
pixel. Le chiamate aFrame.CameraMetadata.GetAllCameraMetadataTags()
restituiranno unList<CameraMetadataTag>
vuoto.
- C: le chiamate a
- Java:
ArImage#getCropRect()
ora restituisce un rettangolo di ritaglio a grandezza naturale, ovvero tutti i pixel dell'immagine sono validi. Per ulteriori informazioni, consultaandroid.media.Image#getCropRect()
.
Novità di ARCore v1.27.0
Questa release non include nuove funzionalità. Consulta le seguenti note di rilascio per varie correzioni di bug e miglioramenti delle prestazioni.
- Note di rilascio complete dell'SDK ARCore per Android
- Note di rilascio complete di ARCore per Android NDK
- Note di rilascio complete dell'SDK ARCore per iOS
- Note di rilascio delle estensioni ARCore per AR Foundation
Oltre a varie correzioni di bug, questa release include quanto segue.
App di esempio in Kotlin
È stato aggiunto hello_ar_kotlin per mostrare le best practice per l'utilizzo di Kotlin.
Per ulteriori informazioni, consulta la guida rapida per Android.
È stato aggiunto ml_kotlin per mostrare come è possibile utilizzare un modello di classificazione delle immagini con ARCore.
Per saperne di più, consulta Utilizzare ARCore come input per i modelli di machine learning.
Novità di ARCore v1.26.0
Questa release aggiunge le seguenti modifiche importanti:
- Ora gli URI sono supportati per i set di dati in Registrazione e riproduzione.
Ulteriori modifiche e aggiornamenti
Per ulteriori correzioni di bug e altre modifiche che provocano errori, consulta le seguenti note di rilascio.
- Note di rilascio complete dell'SDK ARCore per Android
- Note di rilascio complete di ARCore per Android NDK
- Note di rilascio complete dell'SDK ARCore per iOS
- Note di rilascio delle estensioni ARCore per AR Foundation
Novità di ARCore v1.25.0
Questa release non include nuove funzionalità. Consulta le seguenti note di rilascio per varie correzioni di bug e miglioramenti delle prestazioni.
- Note di rilascio complete dell'SDK ARCore per Android
- Note di rilascio complete di ARCore per Android NDK
- Note di rilascio complete dell'SDK ARCore per iOS
- Note di rilascio complete dell'SDK ARCore per Unity
- Note di rilascio delle estensioni ARCore per AR Foundation
Novità di ARCore v1.24.0
Questa release aggiunge le seguenti modifiche importanti:
- Una nuova API Raw Depth che fornisce un'immagine di profondità senza filtri nello spazio immagine
- Funzionalità di registrazione di tracce di dati personalizzate nell'API Recording & Playback
- La possibilità di eseguire test di riscontro della profondità
Profondità grezza
L'API Raw Depth fornisce dati di profondità per un'immagine della fotocamera con una precisione superiore rispetto ai dati dell'API Depth completa, ma non copre sempre tutti i pixel. Le immagini di profondità raw, insieme alle immagini di confidenza corrispondenti, possono anche essere ulteriormente elaborate, consentendo alle app di utilizzare solo i dati di profondità con una precisione sufficiente per il loro caso d'uso individuale.
Guide per gli sviluppatori:
Registrazione di tracce personalizzate
La nuova funzionalità di traccia dei dati personalizzati nell'API Recording & Playback ti consente di aggiungere dati personalizzati a un frame ARCore durante la registrazione e di recuperare gli stessi dati dal frame durante la riproduzione.
Guide per gli sviluppatori:
Hit test di profondità
In precedenza, i test di impatto potevano essere condotti solo su piani rilevati, limitando le posizioni a superfici grandi e piatte. I test di riscontro della profondità sfruttano le informazioni sulla profondità sia uniformi che non elaborate per fornire risultati di riscontro più accurati, anche su superfici non piane e a bassa texture.
Guide per gli sviluppatori:
Ulteriori modifiche e aggiornamenti
Per ulteriori correzioni di bug e altre modifiche che provocano errori, consulta le seguenti note di rilascio.
- Note di rilascio complete dell'SDK ARCore per Android
- Note di rilascio complete di ARCore per Android NDK
- Note di rilascio complete dell'SDK ARCore per iOS
- Note di rilascio complete dell'SDK ARCore per Unity
- Note di rilascio delle estensioni ARCore per AR Foundation
Novità di ARCore v1.23.0
Supporto della doppia fotocamera in attesa
Il supporto per la doppia videocamera verrà implementato nelle prossime settimane. Per saperne di più, consulta la pagina Dispositivi supportati.
Nuovi strumenti di debug
Inviando un intent di trasmissione, gli sviluppatori possono attivare:
Registrazione delle chiamate API ARCore nel log di debug di Android
L'overlay del rendimento di ARCore
Ospitare e risolvere Cloud Anchor
Le app abilitate alla AR create utilizzando l'SDK ARCore 1.11.0 o versioni precedenti non sono più in grado di ospitare o risolvere gli ancoraggi cloud.
C: Gli ancoraggi cloud restituiti da
ArSession_hostAndAcquireNewCloudAnchor
eArSession_resolveAndAcquireNewCloudAnchor
avranno sempre lo statoAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
.Java: gli ancoraggi cloud restituiti da
Session.hostCloudAnchor(Anchor)
eSession.resolveCloudAnchor(String)
avranno sempre lo statoAnchor.CloudAnchorState.ERROR_INTERNAL
.Unity: gli ancoraggi cloud restituiti da
XPSession.CreateCloudAnchor(Anchor)
eXPSession.ResolveCloudAnchor(string)
avranno sempre lo statoCloudServiceResponse.ErrorInternal
.
Le app create con l'SDK ARCore 1.12.0 o versioni successive non sono interessate. Il loro utilizzo dell'API ARCore Cloud Anchor è coperto dalle norme sul ritiro.
Ulteriori modifiche e aggiornamenti
Per ulteriori correzioni di bug e altre modifiche significative, consulta le seguenti note di rilascio.
Novità di ARCore v1.22.0
Questa release aggiunge nuove API di registrazione e riproduzione e API di filtro di configurazione della videocamera per ARCore Extensions per AR Foundation. Per maggiori dettagli, consulta le note di rilascio complete di ARCore Extensions.
Ulteriori modifiche e aggiornamenti
Per ulteriori correzioni di bug e altre modifiche significative, consulta le seguenti note di rilascio.
Novità di ARCore v1.21.0
Questa release aggiunge nuove API di registrazione e riproduzione per Android, Android NDK e Unity.
Registrazione e riproduzione
Con le API Recording e Playback, puoi registrare video e dati AR una sola volta in un determinato ambiente e utilizzare questi contenuti per sostituire una sessione della videocamera live a scopo di test. ARCore salva le sessioni registrate in file MP4 che contengono più tracce video e altri dati vari sul dispositivo. Dopodiché puoi indicare all'app di utilizzare questi dati al posto di una sessione della videocamera in diretta. In questo modo puoi riprodurre i contenuti all'infinito per provare diversi effetti AR senza dover tornare sul campo.
Per ulteriori dettagli:
Java:
C:
Unity:
Novità di ARCore v1.20.0
Questa release aggiunge le seguenti modifiche importanti:
Nuovo supporto per gli ancore cloud persistenti.
Funzionalità aggiornate dei metadati delle immagini per Android e Android NDK.
Nuove indicazioni che richiedono Gradle versione 5.6.4 o successive per supportare le estensioni ARCore per AR Foundation o l'SDK ARCore per Unity (1.19 o versioni successive) con Unity 2018.4 o versioni successive.
Nuovo supporto per gli ancoraggi cloud persistenti
Prima di ARCore v1.20, le ancore cloud potevano essere risolte solo fino a 24 ore dopo l'hosting iniziale. Con gli ancoraggi cloud persistenti, ora puoi creare un ancoraggio cloud con una durata (TTL) compresa tra 1 e 365 giorni. Puoi anche estendere la durata dell'ancora dopo che è già ospitata utilizzando l'API Cloud Anchor Management.
L'utilizzo di Cloud Anchor persistenti è coperto dalle nuove norme sul ritiro di Cloud Anchors.
C: Guida per gli sviluppatori,
ArSession_hostAndAcquireNewCloudAnchorWithTtl
, eArSession_estimateFeatureMapQualityForHosting
.Java: Guida per gli sviluppatori,
hostCloudAnchorWithTtl
eestimateFeatureMapQualityForHosting
.iOS: Guida per gli sviluppatori,
hostCloudAnchor:TTLDays:error:
eestimateFeatureMapQualityForHosting:
.Estensioni ARCore per AR Foundation: guida per sviluppatori Android, guida per sviluppatori iOS,
ARAnchorManager.HostCloudAnchor(ARAnchor, int)
,ARAnchorManager.SetAuthToken(string)
, eARAnchorManager.EstimateFeatureMapQualityForHosting(Pose)
.Targeting di Unity per Android: guida per gli sviluppatori,
XPSession.CreateCloudAnchor(Anchor, int)
eXPSession.EstimateFeatureMapQualityForHosting(Pose)
.Targeting iOS di Unity: guida per gli sviluppatori,
XPSession.SetAuthToken(string)
eXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int)
.
Ulteriori modifiche e aggiornamenti
Per ulteriori correzioni di bug e altre modifiche significative, consulta le seguenti note di rilascio.
Novità di ARCore v1.19.0
Questa release aggiunge le seguenti modifiche importanti:
- Nuova API Instant Placement per Android, Android NDK e Unity.
- Nuove indicazioni per la creazione di app per Android 11 con Unity.
Posizionamento istantaneo
L'API Instant Placement consente all'utente di posizionare un oggetto AR sullo schermo senza dover attendere che ARCore rilevi la geometria della superficie. Il posizionamento degli oggetti viene perfezionato in tempo reale man mano che l'utente si sposta nell'ambiente. Una volta che ARCore rileva la posa corretta nella regione in cui è posizionato l'oggetto AR, l'oggetto bianco viene aggiornato automaticamente per essere preciso nella posa e diventa opaco.
Il seguente clip mostra una figura virtuale di Android su un tavolo reale. La figura è bianca e molto più piccola quando viene posizionata per la prima volta. Dopo che ARCore perfeziona i calcoli delle dimensioni della scena, la figura si sposta in una posizione più accurata. Ciò potrebbe comportare una differenza nella "dimensione" percepita dell'oggetto.
Per ulteriori dettagli:
Android:
Android NDK:
Unity:
Novità di ARCore v1.18.0
Questa release aggiunge le seguenti modifiche importanti:
- Nuova API Depth per Android, Android NDK e Unity.
- Nuove indicazioni per la creazione di asset Augmented Faces e la loro importazione in Android Studio.
- L'API Depth sarà supportata in
4.1.0-preview.2
sia perAR Foundation
che perARCore XR Plugin
.
API Depth
Sui dispositivi che supportano la profondità, l'API Depth utilizza la videocamera RGB del dispositivo supportato da ARCore o il sensore di profondità attivo, se disponibile, per creare mappe di profondità. Puoi quindi utilizzare la profondità per pixel fornita da una mappa di profondità per far apparire con precisione gli oggetti virtuali davanti o dietro agli oggetti del mondo reale, consentendo esperienze utente coinvolgenti e realistiche.
Ad esempio, le seguenti immagini mostrano una figura virtuale di Android in uno spazio reale contenente un baule accanto a una porta. L'API Depth occlude correttamente la figura dietro il bordo del tronco.
Per ulteriori dettagli:
Android:
Android NDK:
Unity:
Novità di ARCore v1.17.0
Novità dell'SDK ARCore per Android
Sono stati aggiunti nuovi metodi che consentono di memorizzare nel buffer più frame della videocamera. Insieme ad altre tecniche come il rendering multithread, questa può essere utilizzata per ridurre la variabilità dei frame rate.
Sono stati aggiunti l'utilizzo del sensore di profondità e i getter FPS target mancanti:
Consulta anche le note di rilascio complete dell'SDK Android per Android.
Novità dell'SDK ARCore per Unity
- È stato aggiunto il supporto per il rendering multithread in Unity versione 2018.2 o successive, che nella maggior parte dei casi migliorerà le prestazioni e può contribuire a ridurre la variabilità dei frame rate. Si tratta di un'impostazione del progetto Unity che si trova in Project Settings > Player > Android > Other Settings > Multithreaded Rendering. Per maggiori dettagli, consulta la Guida per gli sviluppatori.
- Sono stati aggiunti
SessionStatus.ErrorCameraNotAvailable
eSessionStatus.ErrorIllegalState
per indicare stati di errore specifici della sessione ARCore.
Consulta anche le note di rilascio complete dell'SDK ARCore per Unity.
Novità dell'SDK ARCore per iOS
Le dimensioni del file binario dell'SDK Cloud Anchors sono diminuite in modo significativo.
Il bitcode è ora supportato per i volti aumentati.
Consulta anche le note di rilascio complete dell'SDK ARCore per iOS.
Novità di ARCore v1.16.0
Novità in ARCore SDK for Android e Sceneform SDK for Android
Questa release aggiunge le seguenti modifiche importanti:
- La maggior parte dei dispositivi ora restituisce configurazioni della videocamera supportate aggiuntive con risoluzioni delle texture della GPU inferiori rispetto alla risoluzione delle texture della GPU predefinita del dispositivo.
Per maggiori dettagli, vedi Dispositivi supportati da ARCore.
Queste risoluzioni GPU estese sono disponibili tramite l'API
getSupportedCameraConfigs(CameraConfigFilter)
.
Vedi anche:
Novità in ARCore Extensions for AR Foundation
Questa release aggiunge le seguenti modifiche importanti:
XRCameraConfiguration
di AR Foundation è esteso con metodi che ti consentono di scegliere la configurazione della videocamera appropriata in base ai criteri che preferisci. Questi metodi includono GetTextureDimensions(), GetFPSRange() e GetDepthSensorUsages(). Leggi le istruzioni dettagliate.Unity 2019.3.0f6 è ora la versione minima consigliata per le estensioni ARCore. AR Foundation 3.1.0-preview.6 richiede Unity versione 2019.3 o successive.
Unity ora utilizza i termini Ancora, Ancora cloud e ID ancora cloud nella sua API AR cross-platform. La documentazione di ARCore Extensions è stata aggiornata per riflettere questa modifica.
Vedi anche:
Novità dell'SDK ARCore per Unity
Questa release aggiunge la seguente modifica importante:
- La maggior parte dei dispositivi ora restituisce configurazioni della videocamera supportate aggiuntive con risoluzioni delle texture della GPU inferiori rispetto alla risoluzione delle texture della GPU predefinita del dispositivo. Per maggiori dettagli, vedi Dispositivi supportati da ARCore. Queste risoluzioni GPU estese sono disponibili tramite l'API ARCoreCameraConfigFilter.
Vedi anche:
Note di rilascio complete dell'SDK ARCore per Unity
Novità di ARCore v1.15.0
Novità in ARCore Extensions for AR Foundation
Questa release aggiunge le seguenti modifiche importanti.
È stato aggiunto l'esempio CloudAnchors che mostra come creare esperienze AR condivise per Android e iOS. Consulta le istruzioni per Android o iOS.
Unity 2019.2.17f1 è ora la versione minima consigliata da utilizzare con le estensioni ARCore.
Note di rilascio complete delle estensioni ARCore
Novità dell'SDK ARCore per Unity
Questa release presenta i seguenti problemi noti.
L'anteprima istantanea potrebbe bloccarsi in Unity quando si utilizza Android 9 e un cavo USB 3. Per risolvere il problema, esegui l'aggiornamento ad Android 10 o utilizza un cavo USB 2.
L'anteprima istantanea potrebbe non essere visualizzata sul dispositivo quando la risoluzione della visualizzazione del gioco di Unity è troppo elevata. Per risolvere il problema, riduci la risoluzione della visualizzazione del gioco di Unity nell'editor.
Note di rilascio complete dell'SDK ARCore per Unity
Ulteriori modifiche
Per ulteriori correzioni di bug e altre modifiche significative, consulta le seguenti note di rilascio.
Novità di ARCore v1.14.0
Questa release aggiunge le seguenti modifiche importanti.
Quando un'app perde temporaneamente l'accesso alla fotocamera a favore di un'altra app sul dispositivo, il motivo dell'errore di monitoraggio è ora più specifico:
Android:
TrackingFailureReason
èCAMERA_UNAVAILABLE
anzichéNONE
.Android NDK:
ArTrackingFailureReasons
èAR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLE
invece diAR_TRACKING_FAILURE_REASON_NONE
.Unity:
Session.LostTrackingReason
èLostTrackingReason.CameraUnavailable
invece diNone
.
Google raccoglie ed elabora i dati derivanti dal tuo utilizzo del pacchetto ARCore Extensions ai sensi delle Norme sulla privacy di Google e dei Termini di servizio delle API di Google. Puoi disattivare questa opzione.
Novità di ARCore v1.13.0
Questa release aggiunge le seguenti modifiche importanti.
Supporto per l'utilizzo delle estensioni ARCore per AR Foundation di Unity per creare app per iOS con Cloud Anchors.
Supporto per la stima dell'illuminazione HDR ambientale in Sceneform.
Per ulteriori correzioni di bug e altre modifiche significative, consulta le seguenti note di rilascio.
Novità di ARCore v1.12.0
Questa release aggiunge le seguenti modifiche:
Aggiunta della funzionalità Volti aumentati a iOS. Per saperne di più, consulta questa panoramica, la guida rapida e la guida per gli sviluppatori.
Supporto dell'utilizzo delle estensioni ARCore per AR Foundation di Unity per creare app per Android con Cloud Anchor.
Le seguenti modifiche agli ancoraggi cloud:
- Per rispettare i nostri requisiti di privacy aggiornati per l'utilizzo degli SDK ARCore 1.12 o versioni successive, devi divulgare l'utilizzo di Cloud Anchor in modo ben visibile nella tua applicazione includendo il seguente testo, nonché un link per saperne di più, in una schermata di avviso: "Per alimentare questa sessione, Google elaborerà i dati visivi della tua fotocamera". Puoi farlo implementando il flusso di avviso all'utente consigliato disponibile nelle nostre app di esempio Cloud Anchor.
Per maggiori dettagli, consulta la sezione Requisiti per la privacy degli utenti.
Per ulteriori dettagli su Cloud Anchors:
Android:
Android NDK:
iOS:
Unity:
Estensioni ARCore:
Novità di ARCore v1.11.0
Questa release aggiunge le seguenti modifiche:
Il servizio ARCore è stato rinominato Google Play Services per AR. Sui dispositivi Google Play, ora viene distribuito nell'ambito di Google Play Services.
Le configurazioni della videocamera di ARCore hanno come target 60 fps sui dispositivi supportati e danno la priorità all'utilizzo del sensore di profondità sui dispositivi che ne sono dotati. Puoi utilizzare i nuovi filtri di configurazione della videocamera per limitare la frequenza fotogrammi di acquisizione della videocamera a 30 fps, impedire ad ARCore di utilizzare un sensore di profondità o filtrare in base a entrambe le opzioni.
Per ulteriori dettagli sulle configurazioni della videocamera:
Android:
Android NDK:
Unity:
Novità di ARCore v1.10.0
Questa release aggiunge nuove funzionalità di stima dell'illuminazione HDR ambientale all'API Lighting Estimation per Android, Android NDK e Unity.
Queste API utilizzano il machine learning per analizzare l'immagine della videocamera di input e stimare l'illuminazione ambientale. Puoi utilizzare questi dati di stima dell'illuminazione per eseguire il rendering di un'illuminazione estremamente realistica, inclusa una luce direzionale primaria, ombre, illuminazione ambientale, punti luce speculari e riflessi su oggetti virtuali. Il risultato è un contenuto virtuale più realistico.
Per ulteriori dettagli:
Android:
Android NDK:
Unity:
Novità di ARCore v1.9.0
Novità dell'SDK ARCore per Android
Questa release aggiunge le seguenti nuove API e funzionalità:
Scene Viewer è un visualizzatore immersivo che consente di creare esperienze AR dal tuo sito web. Consente agli utenti di dispositivi mobili Android di posizionare, visualizzare e interagire facilmente con i modelli 3D ospitati sul web nel loro ambiente.
Nuove funzionalità di Immagini aumentate:
ARCore ora monitora le immagini aumentate in movimento. Esempi di immagini in movimento sono una pubblicità su un autobus di passaggio o un'immagine su un oggetto piatto tenuto in mano da un utente mentre muove la mano.
Una volta rilevata un'immagine, ARCore è in grado di continuare a monitorare la posizione e l'orientamento dell'immagine, anche se l'immagine è temporaneamente uscita dalla visuale della fotocamera.
Utilizza
AugmentedImage#getTrackingMethod()
(Java) oArAugmentedImage_getTrackingMethod()
(NDK) per determinare se l'immagine aumentata è attualmente tracciata dalla videocamera (FULL_TRACKING
) o se viene tracciata in base alla sua ultima posizione nota (LAST_KNOWN_POSE
).
La documentazione di Cloud Anchors ora include una spiegazione più dettagliata di come vengono ospitati e risolti gli ancoraggi.
Novità dell'SDK ARCore per Unity
Nuove funzionalità di Immagini aumentate:
ARCore ora monitora le immagini aumentate in movimento. Esempi di immagini in movimento potrebbero essere una pubblicità su un autobus di passaggio o un'immagine su un oggetto piatto tenuto in mano da un utente mentre lo sposta.
Una volta rilevata un'immagine, ARCore è in grado di continuare a monitorare la posizione e l'orientamento dell'immagine, anche se l'immagine è temporaneamente uscita dalla visuale della fotocamera.
La nuova API
AugmentedImage.GetTrackingMethod()
consente alla tua app di determinare se l'immagine aumentata è attualmente tracciata dalla videocamera (FullTracking
) o se viene tracciata in base alla sua ultima posizione nota (LastKnownPose
).
La documentazione di Cloud Anchors ora include una spiegazione più dettagliata di come vengono ospitati e risolti gli ancoraggi.
Novità dell'SDK ARCore per iOS
Supporto per questi dispositivi:
iPad Mini di quinta generazione
iPad Air di terza generazione
La documentazione di Cloud Anchors ora include una spiegazione più dettagliata di come vengono ospitati e risolti gli ancoraggi.