Table of Contents

Agregar un target de seguimiento de Mega Go

Este artículo describe cómo agregar y configurar un target de seguimiento de Mega Go.

Antes de comenzar

Nota

El siguiente contenido y las tools solo son aplicables al proceso de desarrollo de aplicaciones Unity con EasyAR Mega Go. Se requiere una versión del plugin >= 4003.1.

Mega Go no admite desarrollo de mini program.

El contenido de este artículo requiere que los siguientes paquetes de Unity ya se hayan importado en el proyecto:

  • com.easyar.sense

Target de seguimiento de Mega Go

El target de seguimiento de Mega Go es un empty object que contiene el componente MegaGoBlockController. En Unity representa un block.

alt text

Nota

Cuando el paquete com.easyar.mega no está importado, las funciones de editor del block no están disponibles, pero esto no afecta el efecto ni las funciones de seguimiento en runtime.

Crear un target de seguimiento

En un área vacía de la vista Hierarchy, haga clic con el botón derecho y cree un target de seguimiento de Mega mediante el menú EasyAR Sense > Mega > Target : Mega Go Block.

alt text

En script, puede crearlo con ARSessionFactory.CreateController.

ARSessionFactory.CreateController<MegaGoBlockController>();

Configurar el target de seguimiento

Antes de usar un target, debe configurar su fuente de datos y su tracker.

Configurar la fuente de datos del target

Un target de seguimiento solo puede reconocerse y seguirse después de configurar correctamente su fuente.

En la vista Hierarchy, seleccione el nodo block y complete Path Type y Path del block.

En script, puede modificar Source antes de MonoBehaviour.Start() del componente para establecer la fuente del block.

block.Source = new MegaGoBlockController.FileSourceData(PathType.Absolute, path);

Donde:

  • PathType es el tipo de ruta del archivo emg; puede ser una ruta absoluta (Absolute) o la ruta StreamingAssets del proyecto (StreamingAssets).
  • Path es la ruta del archivo emg. Cuando PathType es Absolute, es la ruta absoluta en el sistema de archivos; cuando PathType es StreamingAssets, es la ruta relativa bajo la carpeta StreamingAssets del proyecto.
Consejo

El archivo emg debe descargarse desde la página Mega Go del EasyAR Developer Center.

Consejo

Como el archivo emg puede ser grande, si el tamaño del paquete de la aplicación es demasiado grande, se recomienda usar la ruta StreamingAssets solo durante la etapa de pruebas. Para la publicación oficial, use una ruta absoluta y coloque el archivo emg en una ruta del sistema de archivos accesible por la aplicación mediante un resource package u otro método.

Configurar el tracker usado por el target

El target de seguimiento será cargado y seguido por el tracker configurado.

Importante

El tracker de Mega Go solo puede seguir un block al mismo tiempo. Si se configuran varios blocks en el mismo tracker simultáneamente, solo se usará el último block cargado.

En la vista Hierarchy, seleccione el nodo block y luego seleccione el Mega Go Tracker en la session.

En script, puede modificar Tracker para establecer el tracker del block.

block.Tracker = megaGoTracker;

Tracker puede modificarse en cualquier momento durante runtime; la carga/descarga ocurrirá mientras la session esté ejecutándose. Si Tracker se establece en null, este target se descargará del tracker configurado anteriormente.

Nota

Para que un target sea seguido, hay varias condiciones clave:

  1. El block correspondiente a Source debe estar en estado disponible (los datos formales siempre están disponibles offline, y los datos de prueba solo están disponibles cuando esos datos existen en el service).
  2. El archivo de MegaGoBlockController.Source debe cargarse correctamente.
  3. Después de cargar el archivo, no debe cargarse ningún otro archivo correspondiente a otro block.

Ciclo de vida del target de seguimiento

Un ciclo de vida común de un target de seguimiento es el siguiente:

flowchart LR
  sstart((session iniciada))
  sstop([session detenida])
  
  start("Target.Start")
  load("Carga")
  tracking[["Seguimiento continuo"]]

  sstart --> load --> tracking --> sstop
  start -. "Target.Tracker = tracker" .-> load 

El proceso se divide aproximadamente en varias etapas:

  • Carga: el target de seguimiento es cargado por el tracker configurado. Esto ocurre después del propio Start() del target y después de que se inicia la session.
  • Proceso de seguimiento: después de localizar el target de seguimiento, el tracker seguirá continuamente la posición y el estado del target hasta que el target se descargue o se cargue otro target.
  • Descarga: el target de seguimiento se descarga del tracker, y el tracker deja de seguir el target. Esto ocurre cuando la session se detiene o cuando el target se configura para no usar tracker.

Próximos pasos

Temas relacionados