Table of Contents

Elegir el modo de centro adecuado

Elegir el modo de centro adecuado es crucial para la producción de contenido. A través del siguiente contenido, aprenderá cómo obtener y modificar los modos de centro, así como sugerencias para seleccionar el modo de centro adecuado.

Antes de comenzar

  • Comprenda los conceptos básicos, componentes y flujo de trabajo de session a través de Introducción a AR Session.
  • Comprenda los conceptos básicos del modo de centro y su impacto en el comportamiento del movimiento de objetos en la escena a través de Modo de centro de AR Session.

Obtener modos de centro disponibles

Durante la ejecución de session, solo los modos de centro disponibles para la session actual se mostrarán en el menú desplegable Center del panel Inspector. Si session no se ha iniciado, se mostrarán todos los modos de centro.

alt text

Esta imagen muestra los modos de centro disponibles en session cuando se usa CameraDeviceFrameSource en el editor.

En el script, puede obtener la lista de modos de centro disponibles en la session actual a través de la propiedad ARSession.AvailableCenterMode después de que session se haya ensamblado correctamente.

Por ejemplo, el siguiente código muestra cómo determinar si un modo de centro está disponible en la session actual:

if (Session.AvailableCenterMode.Contains(mode))
{
    // mode está disponible en la session actual
}

Modificar el modo de centro

Abra el panel Inspector y seleccione el modo de centro deseado en el menú desplegable Center.

alt text

En el script, puede modificar el modo de centro a través de la propiedad ARSession.CenterMode.

Por ejemplo, el siguiente código muestra cómo cambiar cíclicamente entre los modos de centro disponibles:

while (true)
{
    Session.CenterMode = (ARSession.ARCenterMode)(((int)Session.CenterMode + 1) % Enum.GetValues(typeof(ARSession.ARCenterMode)).Length);
    if (Session.AvailableCenterMode.Contains(Session.CenterMode)) { break; }
}

session verifica si el modo de centro actual es válido en cada actualización de fotograma. Si es válido, session intenta inmediatamente usar el nuevo modo de centro.

En el video anterior, session inicialmente usa el modo FirstTarget, con el árbol de Navidad (nube de puntos azul brillante) como objeto central. Luego, cambiamos manualmente el modo de centro a Camera, y el objeto central se convierte en la cámara (cono azul). Para una descripción detallada del contenido del video, consulte Modo de centro de AR Session.

Durante la actualización de session, si el modo de centro modificado no es válido en la session actual, la propiedad CenterMode se modificará automáticamente al primer modo de centro disponible (generalmente FirstTarget o SessionOrigin), y se registrará un mensaje de advertencia:

Center mode {Value} is unavailable in this session, reset to {NewValue}.

Cómo elegir el modo de centro

Alinear con objetos del mundo real es una necesidad central en la producción de contenido AR, y el modo de centro determina qué objeto utiliza session como punto de referencia para calcular la posición y orientación de otros objetos en la escena. Por lo tanto, elegir el modo de centro adecuado es crucial para la producción de contenido.

Recomendaciones generales

A menudo, usar los modos FirstTarget o SpecificTarget, con target como centro, es más amigable para la producción de contenido. Esto permite que los puntos de referencia del contenido colocados bajo target permanezcan estáticos, sin verse afectados innecesariamente por el movimiento de XR Origin o camera (por ejemplo, afectando los cálculos del sistema físico). Sin embargo, esto no es absoluto. Específicamente:

  • Cuando no sepa qué elegir, use el valor predeterminado, es decir, centro FirstTarget
    Dado que la mayoría de las funciones AR tienen errores y se corrigen continuamente durante el funcionamiento, esto puede causar que objetos aparentemente estáticos en el mundo real (como el target del mapa espacial disperso y el XR Origin del seguimiento de movimiento) tengan movimiento relativo en el espacio virtual. En este caso, usar target como centro es más adecuado para las necesidades de producción de contenido que usar XR Origin.

  • Múltiples target rastreados simultáneamente
    Para casos con múltiples target rastreados simultáneamente, debido a errores de cálculo, incluso si los objetos del mundo real son relativamente estáticos, estos target pueden tener movimiento relativo entre sí. La elección del objeto central debe basarse en las necesidades reales, y generalmente el modo FirstTarget es la opción más adecuada.

  • Cuándo usar el modo SessionOrigin
    SessionOrigin es adecuado para escenarios donde solo se ejecuta el seguimiento de movimiento, siendo XR Origin el único punto de referencia. También es útil en casos especiales, como cuando los fabricantes de visores no implementan correctamente el punto de referencia del seguimiento de movimiento, lo que requiere usar el centro del mundo de Unity, forzando así el modo SessionOrigin.

  • Escenarios para el modo Camera
    El modo Camera es más adecuado para situaciones donde la cámara física está fija (por ejemplo, AR de cartas con cámara fija), ya que facilita la creación de contenido.

Modos de centro comunes para diferentes funciones AR

Al usar ciertas funciones AR de forma independiente, algunos modos de centro son más comunes. La siguiente tabla enumera los modos de centro comunes para cada función AR:

Función Modo de centro común
Mega FirstTarget o SpecificTarget
Seguimiento de movimiento SessionOrigin
Detección de planos SessionOrigin
Mapa espacial disperso FirstTarget o SpecificTarget
Mapa espacial denso SessionOrigin
Seguimiento de superficie FirstTarget o SpecificTarget
Seguimiento de imágenes FirstTarget, SpecificTarget o Camera
Reconocimiento de imágenes en la nube FirstTarget, SpecificTarget o Camera
Seguimiento de objetos FirstTarget, SpecificTarget o Camera

Consideraciones para desarrollo multidispositivo

Al desarrollar aplicaciones AR para múltiples dispositivos, es necesario considerar el soporte de diferentes dispositivos para los modos de centro.

  • Si solo involucra teléfonos y tabletas, generalmente no hay mayores problemas. Si necesita usar SessionOrigin, asegúrese de que el seguimiento de movimiento pueda ejecutarse.
  • Si necesita usar visores, preste especial atención:
    • Consulte Modos de centro válidos para determinar qué modos de centro admiten los dispositivos que usará. Si usa extensiones de terceros, verifique el OriginType que utilizan.
    • Al usar dispositivos Rokid, evite UXR. Usar XRI garantiza que la mayoría de los modos de centro estén disponibles.
    • En visores que no admiten los modos FirstTarget y SpecificTarget, tenga en cuenta que funciones como Mega o seguimiento de imágenes no podrán mantener el contenido estático en relación con el sistema de coordenadas del mundo de Unity.

Contenido que se muestra correctamente en cada modo de centro

Advertencia

En AR de Unity, cualquier objeto que exista en el sistema de coordenadas del mundo de Unity y no ajuste su transform según los componentes de session puede no mostrarse correctamente.

Si se colocan algunos modelos en el sistema de coordenadas del mundo, su posición y orientación pueden no corresponder con ningún objeto del mundo real. El efecto de ejecución real puede ser correcto por coincidencia, o parecer flotar en el aire o moverse erráticamente.

Para garantizar que el contenido se muestre correctamente en cualquier modo de centro, el método correcto es:

  • Coloque siempre el contenido a mostrar bajo el nodo target correspondiente, o bajo el nodo XR Origin (si el contenido necesita seguir el movimiento de XR Origin)
  • O alinee manualmente la posición y orientación del contenido con target o XR Origin, pero debe hacerse después del evento ARSession.PostSessionUpdate
Nota

Esto no garantiza que todos los elementos de contenido funcionen correctamente, ya que algunas funciones de Unity solo funcionan en el sistema de coordenadas del mundo (como el sistema físico). Elegir el modo de centro adecuado sigue siendo importante.

Temas relacionados