Table of Contents

Configuración de scene y uso de AR Foundation en proyectos EasyAR

Usar AR Foundation en Unity suele requerir EasyAR para resolver las limitaciones de dispositivos de AR Foundation. Lo siguiente explica cómo configurar y usar correctamente AR Foundation en una scene de EasyAR, y cómo habilitar AR Foundation dinámicamente según el soporte del dispositivo.

Antes de comenzar

Agregar componentes AR Foundation

Agregue AR Session y XR Origin de AR Foundation a la scene de EasyAR.

Agregar AR Session

En la vista Hierarchy, haga clic derecho en un área vacía y use el menú XR > AR Session para agregar ARSession de Unity a la scene.

alt text

Nota

Esta AR Session es diferente de la AR Session de EasyAR; ambas deben existir al mismo tiempo en la scene.

Agregar XR Origin

En la vista Hierarchy, haga clic derecho en un área vacía y use el menú XR > XR Origin (Mobile AR) para agregar XROrigin de Unity a la scene.

alt text

Nota

Este XR Origin se solapa funcionalmente con XR Origin de EasyAR, por lo que debe usarse Unity XR Origin en lugar de XR Origin de EasyAR.

Si antes existía XR Origin de EasyAR en la scene, normalmente llamado XR Origin (EasyAR), mueva sus objetos hijo al XR Origin recién creado y luego elimine XR Origin (EasyAR).

alt text

En este momento, si el nuevo XR Origin no tiene XR Origin Child debajo, agréguelo manualmente.

En la vista Hierarchy, seleccione XR Origin y haga clic derecho. Use el menú EasyAR Sense > Origin > Origin : XR Origin Child para agregar XR Origin Child debajo de XR Origin.

alt text

Configurar Camera

Si antes existía una Camera para AR en la scene, verá una main camera adicional en la scene y deberá eliminar la camera original.

alt text

Luego seleccione Main Camera debajo de XR Origin y configure la camera siguiendo las instrucciones de configuración de Camera.

Finalmente, una estructura completa de scene EasyAR con AR Foundation agregado debería ser similar a la siguiente:

alt text

Precaución

Si necesita modificar la configuración de AR Foundation mediante ARCameraManager.currentConfiguration, tenga en cuenta que algunos teléfonos (por ejemplo Mi 10) tienen problemas propios: después de cambiar la configuración no se pueden obtener imágenes y EasyAR no podrá usarse (la aplicación tiene fondo de imagen pero las funciones EasyAR no reaccionan). Por eso normalmente no se recomienda modificarla; si debe hacerlo, prepare una estrategia de fallback cuando EasyAR no pueda usarse.

Compatibilidad de dispositivos y habilitación dinámica de AR Foundation

EasyAR es compatible con muchos más dispositivos que AR Foundation, por lo que debe configurarse para asegurar que la aplicación solo habilite AR Foundation cuando sea necesario, y que lo desactive por completo en los demás casos.

Comprobar componentes frame source

En general, una session creada mediante el menú EasyAR suele agregar automáticamente ARCoreARFoundationFrameSource y ARKitARFoundationFrameSource (excepto algunas funciones como image tracking que no requieren SLAM).

alt text

Importante

ARCoreARFoundationFrameSource y ARKitARFoundationFrameSource son frame sources proporcionados por EasyAR para habilitar funciones AR Foundation en dispositivos que soportan AR Foundation. Si la session en la scene no contiene estos frame sources, no se pueden habilitar las funciones AR Foundation.

Si la session en la scene no contiene estos frame sources, puede agregarlos manualmente mediante el menú.

alt text

Para ejecutarse en teléfonos que no soportan AR Foundation, también debe asegurarse de que la session contenga frame sources distintos de AR Foundation. Un ARSession típico debería ser similar a lo siguiente,

alt text

Consejo

Puede ordenar frame sources según sea necesario. Durante runtime de la aplicación, la session selecciona el primer frame source disponible según el orden de transform y el soporte del dispositivo.

Habilitar AR Foundation solo cuando sea necesario

Como la implementación subyacente de AR Foundation en teléfonos es ARCore y ARKit, solo puede usarse en dispositivos limitados, especialmente no en muchos teléfonos Android domésticos chinos. Por eso normalmente se recomienda habilitar AR Foundation y los scripts de funciones relacionadas solo en dispositivos soportados.

EasyAR puede realizar estas operaciones automáticamente. Esta función puede activarse o desactivarse mediante la opción Unity XR > Unity XR Auto Switch en Project Settings > EasyAR > Sense. Para más detalles consulte cambiar automáticamente objetos Unity XR.

Scenes que conservan compatibilidad con AR Foundation

Una scene a la que se han agregado correctamente los componentes AR Foundation puede funcionar normalmente tanto si el package AR Foundation está instalado como si no.

Cuando AR Foundation no está instalado, las funciones AR Foundation y los frame sources correspondientes no están disponibles, y faltarán algunos scripts en la scene; esto es normal.

alt text alt text

Consejo

Muchos samples pueden funcionar normalmente tanto con el package AR Foundation instalado como sin él. Si necesita habilitar soporte AR Foundation en estos samples, solo debe habilitar AR Foundation en el proyecto EasyAR.

Próximos pasos

Temas relacionados