ARCore para Jetpack XR
Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
12 de dezembro de 2024 | - | - | - | 1.0.0-alpha01 |
Declarar dependências
Para adicionar uma dependência ao ARCore para o Jetpack XR, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para mais informações.
Adicione as dependências dos artefatos necessários ao arquivo build.gradle
do
seu app ou módulo:
Groovy
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha01" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha01") }
Para mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.0
Versão 1.0.0-alpha01
12 de dezembro de 2024
Lançamento de androidx.xr.arcore:arcore-* 1.0.0-alpha01
.
Recursos da versão inicial
Inspirada na biblioteca ARCore existente, a biblioteca ARCore para Jetpack XR oferece recursos para mesclar conteúdo digital com o mundo real. Essa biblioteca inclui rastreamento de movimento, âncoras persistentes, testes de acerto e identificação de plano com rotulagem semântica (por exemplo, piso, paredes e mesas). Consulte o guia para desenvolvedores para saber mais sobre como trabalhar com o ARCore para o Jetpack XR.
Session
: o ARCore para Jetpack XR usa o ambiente de execução do Jetpack XR para melhorar a funcionalidade. Você vai usar uma sessão para interagir com a maioria das APIs ARCore para Jetpack XR. Confira a documentação dela.Plane
: use planos para entender o mundo ao seu redor. Cada plano tem umLabel
que o descreve semanticamente. Usesubscribe
para receber notificações sobre os aviões mais recentes detectados oustate
para receber notificações sobre as mudanças em um avião específico.Anchor
: uma ligação entre um objeto virtual e um local do mundo real. As âncoras podem ser anexadas a um local específico no espaço (usandocreate
) ou a umTrackable
(usandocreateAnchor
).As âncoras podem ser reutilizadas em várias sessões. Você pode usar
persist
para armazená-los,getPersistedAnchorUuids
para enumerá-los eload
para recuperá-los.unpersist
-as quando não estiverem mais em uso.As ancoras são interoperáveis entre o ARCore para Jetpack XR e o Jetpack SceneCore. É possível criar uma
AnchorEntity
usando uma âncora ou, se você tiver uma AnchorEntity, usegetAnchor
para recuperar a âncora de suporte.Ofereça interações naturais do usuário usando
hitTest
. Um hitTest usa umRay
para determinar quais conteúdos ele cruza e para criar umAnchor
nesse local. Considere fazer um hitTest de umInputEvent
.
Problemas conhecidos
Pode haver um atraso entre a chamada de
unpersist
e a remoção do UUID dela dos resultados retornados porgetPersistedAnchorUuids
.create
não vai validar se o sistema tem recursos suficientes para retornar novas âncoras. A criação de uma quantidade excessiva de âncoras pode causar uma falha.No momento, não é possível manter uma âncora que foi persistida e desativada anteriormente.
O uso no emulador é aceito, mas o comportamento pode não ser tão estável quanto quando executado em um dispositivo real. Especificamente, as chamadas para
create
podem falhar com um erro de código nativo e encerrar a atividade imediatamente.Em determinadas circunstâncias, uma
RuntimeException
pode ser gerada incorretamente ao chamarpersist
com a mensagem "A âncora não foi mantida". Nessas circunstâncias, a função ainda terá sucesso e a âncora será mantida. Recomendamos agrupar a chamada parapersist
com um blocotry
como solução alternativa.