Table of Contents

Objetivo de seguimiento en Unity AR -- target

target expresa en Unity diversos objetos que pueden rastrearse. Con el contenido siguiente, comprenderá los conceptos básicos, estados y lifecycle del objeto de tracking target en Unity AR.

Antes de comenzar

Qué es target

target se refiere a la representación en Unity de los objetos que las funciones AR reconocen y rastrean. En el mundo real, estos objetos pueden ser imágenes, objetos 3D, mapas espaciales, etc. Al reconocer y rastrear estos objetos, una aplicación AR puede superponer contenido virtual en el mundo real y lograr experiencias interactivas ricas.

Algunos target son estáticos en el mundo real, por ejemplo un póster en una pared.

Este video muestra una escena AR sencilla con image tracking en ejecución. A la izquierda está la vista Hierarchy, en el centro la vista Scene, y a la derecha la vista Game. El video se grabó en modo Play de Unity Editor usando datos de ejecución simulados. El contenido de la vista Game es el mismo que ve el usuario en el teléfono dentro del mundo real. En este video, target (ImageTarget) representa una tarjeta de presentación en el mundo real. Colocamos una esfera amarilla encima como marca para observar fácilmente su movimiento.

Puede verse que la posición de target en el mundo real y en la escena es fija, mientras que la cámara que representa al usuario, el cono azul, se mueve según el movimiento del usuario en el mundo real. El cono blanco captura la trayectoria de posición y orientación de la cámara durante un periodo anterior. Puede verse que la esfera amarilla está bajo el nodo target (ImageTarget), que también es la estructura típica de organización de objetos en este tipo de escenas.

Algunos target pueden moverse en el mundo real, por ejemplo un póster en un autobús.

Este video muestra la misma escena, pero esta vez movimos el target, la tarjeta de presentación, en el mundo real. Puede verse que después de moverse el target, la esfera amarilla se mueve junto con la tarjeta, y en la vista Game la marca de la esfera sigue ajustada sobre la tarjeta.

Para facilitar la comprensión, en los dos videos anteriores se desactivó la visualización del gizmo de ImageTarget, y ambos usan el center mode SessionOrigin. En estos videos, el movimiento de los objetos en la vista Scene coincide con el del mundo real. En escenas AR reales, esta relación de movimiento es algo más compleja.

Comportamiento de target en distintos center mode

En Unity, el punto de referencia central de todo AR tracking se denomina session center, y las reglas que determinan ese centro durante la ejecución de la session se denominan center mode. En distintos center mode, el comportamiento de target es diferente:

  • En el center mode SessionOrigin, target no puede moverse arbitrariamente.

    El modo SessionOrigin solo puede existir en escenas con motion tracking.

    Aunque este modo puede mostrar bien el movimiento de target y de la cámara en el mundo real en la escena sencilla anterior, no se usa con frecuencia en escenas AR reales. En este modo, la session controla el movimiento de target, y debido a errores de cálculo del motion tracking o de la propia función AR, es difícil garantizar que target permanezca totalmente fijo. En ese momento, el nodo raíz del contenido debe seguir el movimiento de target, lo que puede afectar al comportamiento del contenido en el sistema Unity, por ejemplo al sistema físico.

  • En el center mode FirstTarget o SpecificTarget, si target es justamente el objeto elegido como centro, puede moverse libremente.

    Generalmente el modo FirstTarget se usa más. Garantiza que el primer objeto rastreado no sea controlado por la session en la escena. Si no hay necesidad de mover target, este permanecerá fijo, independientemente de si el objeto correspondiente en el mundo real se mueve o no.

  • En el center mode FirstTarget o SpecificTarget, si target no es el objeto elegido como centro, y también en el center mode Camera, target no puede moverse arbitrariamente.

    Al rastrear varios objetos al mismo tiempo, aunque esos objetos estén relativamente fijos en el entorno real, debido a errores de cálculo solo puede haber un target que no esté controlado por la session en un mismo momento. En ese caso, según la configuración, no se garantiza si otros target se moverán o no; aunque no haya movimiento en la realidad, puede haber pequeños movimientos en la escena. Debe considerarse plenamente este comportamiento al rastrear varios objetos a la vez y ajustar razonablemente la estrategia de contenido.

Para más detalles sobre center mode y el modo de movimiento de los objetos en la escena, consulte Center mode.

Estado de target

El estado de target refleja la situación de recognition y tracking de target en la session actual. Los estados comunes incluyen:

  • Tracked: target ha sido reconocido y rastreado correctamente. La aplicación AR puede superponer contenido virtual sobre él, y el contenido se ajustará al objeto del mundo real.
  • Not Tracked: target actualmente no se reconoce o no se rastrea. Si la aplicación AR sigue superponiendo contenido virtual sobre él, el contenido no se ajustará al objeto del mundo real.

Además, al cambiar el estado, puede responder mediante estos events:

  • TargetFound: se activa cuando target se reconoce y rastrea correctamente.
  • TargetLost: se activa cuando target pierde el estado de tracking.

Lifecycle de target

En escenas Unity AR, target suele ser gestionado por el componente frame filter correspondiente. frame filter procesa los datos de imagen procedentes del frame source y reconoce y rastrea los target contenidos en ellos. El lifecycle de frame filter depende de la session. Aunque la implementación de distintas funciones AR puede variar, en la mayoría de los casos, cuando se inicia la session, target se carga y, después de cargarse, queda controlado por la session. Cuando la session se detiene, target se descarga y permanece en su lugar hasta ser usado por la siguiente session o eliminado manualmente.

Pasos siguientes

Temas relacionados