ARCore per Jetpack XR
Ultimo aggiornamento | Release stabile | Candidato per la release | Versione beta | Versione alpha |
---|---|---|---|---|
12 febbraio 2025 | - | - | - | 1.0.0-alpha02 |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza da ARCore per Jetpack XR, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli elementi necessari nel file build.gradle
per la tua app o il tuo modulo:
Alla moda
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha01" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha01") }
Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.
Versione 1.0
Versione 1.0.0-alpha02
12 febbraio 2025
androidx.xr.arcore:arcore:1.0.0-alpha02
viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il supporto del rilevamento delle mani. Utilizza
Hand.left
eHand.right
per accedere alle informazioni di monitoraggio. - Le API che generano un'ancora (
Anchor.create
,Anchor.load
,Plane.createAnchor
) ora restituiscono tutteAnchorCreateResult
e implementano correttamenteAnchorCreateResourcesExhausted
.
Correzioni di bug
Anchor.detach
non causa più un arresto anomalo irreversibile a causa di una condizione di gara con il thread di aggiornamento della sessione.Anchor.create
è più stabile quando viene eseguito su un emulatore
Versione 1.0.0-alpha01
12 dicembre 2024
androidx.xr.arcore:arcore-* 1.0.0-alpha01
viene rilasciato.
Funzionalità della versione iniziale
Ispirata alla libreria ARCore esistente, la libreria ARCore per Jetpack XR offre funzionalità per integrare i contenuti digitali con il mondo reale. Questa libreria include il monitoraggio dei movimenti, gli ancoraggi permanenti, i test di corrispondenza e l'identificazione del piano con etichettatura semantica (ad esempio pavimento, pareti e piani di lavoro). Consulta la guida per gli sviluppatori per scoprire di più sull'utilizzo di ARCore per Jetpack XR.
Session
: ARCore per Jetpack XR utilizza il runtime Jetpack XR per potenziare le sue funzionalità. Utilizzerai una sessione per interagire con la maggior parte delle API ARCore per Jetpack XR, quindi dai un'occhiata alla relativa documentazione.Plane
: utilizza i piani per comprendere il mondo che ti circonda. Ogni piano ha unLabel
che lo descrive semanticamente. Puoi utilizzaresubscribe
per ricevere una notifica sugli ultimi piani rilevati ostate
per ricevere una notifica sulle modifiche a un piano specifico.Anchor
: un collegamento tra un oggetto virtuale e una posizione reale. Le ancore possono essere collegate a una posizione specifica nello spazio (utilizzandocreate
) o a unTrackable
(utilizzandocreateAnchor
).Le ancore possono essere riutilizzate in più sessioni. Puoi utilizzare
persist
per archiviarli,getPersistedAnchorUuids
per enumerarli eload
per recuperarli. Assicurati diunpersist
le licenze quando non sono più in uso.Le ancore sono interoperabili tra ARCore per Jetpack XR e Jetpack SceneCore. Puoi creare un
AnchorEntity
utilizzando un'ancora o, se hai già un'entità Anchor, puoi utilizzaregetAnchor
per recuperare l'ancora di supporto.Offri interazioni naturali con gli utenti utilizzando
hitTest
. Un hitTest utilizza unRay
per determinare quali contenuti interseca e per creare unAnchor
da quella posizione. Valuta la possibilità di eseguire un hitTest da unInputEvent
.
Problemi noti
Potrebbe esserci un ritardo tra la chiamata a
unpersist
e la rimozione del relativo UUID dai risultati restituiti dagetPersistedAnchorUuids
.create
non convaliderà il fatto che il sistema disponga di risorse sufficienti per restituire nuovi ancoraggi. La creazione di un numero eccessivo di ancore potrebbe causare un arresto anomalo.Al momento non è supportata la persistenza di un'ancora che è stata precedentemente impostata come persistente e non persistente.
L'utilizzo nell'emulatore è supportato, ma il comportamento potrebbe non essere così stabile come quando viene eseguito su un dispositivo reale. In particolare, le chiamate a
create
potrebbero non riuscire con un errore di codice nativo e terminare immediatamente l'attività.In alcuni casi, potrebbe essere generato erroneamente un
RuntimeException
quando viene chiamatapersist
con il messaggio "L'ancora non è stata mantenuta". In queste circostanze, la funzione andrà comunque a buon fine e l'ancora verrà mantenuta. Come soluzione alternativa, ti consigliamo di racchiudere la chiamata apersist
in un bloccotry
.