Table of Contents

Agregar target de seguimiento de Mega

Este articulo presenta como agregar y configurar targets de seguimiento de Mega.

Antes de empezar

Nota

El contenido y las herramientas siguientes solo son aplicables al proceso de desarrollo de aplicaciones Unity con EasyAR Mega.

Si desarrolla mini programs, consulte Crear y subir anotaciones con el editor Unity (desarrollo de mini programs).

Si no desarrolla aplicaciones Unity pero desea ver los resultados de mapeo de Mega, consulte Previsualizar malla 3D real en la guia de uso de Mega.

Si no desarrolla aplicaciones Unity pero necesita simular la ejecucion para ver el efecto de localizacion, consulte Vista previa del efecto de simulacion en la guia de uso de Mega.

Este contenido requiere que el proyecto ya haya importado los siguientes paquetes Unity:

  • com.easyar.sense

Target de seguimiento de Mega

El target de seguimiento de Mega es un objeto vacio que contiene el componente MegaBlockController. En Unity representa un block.

alt text

Nota

Cuando no se ha importado el paquete com.easyar.mega, las funciones de editor del block no estan disponibles, pero esto no afecta al efecto ni a la funcion de seguimiento en runtime.

Si la configuracion no ha habilitado correctamente la funcion Mega, no se podra usar.

alt text

Crear target de seguimiento

Haga clic derecho en un area vacia de la vista Hierarchy y cree un target de seguimiento Mega desde el menu EasyAR Sense > Mega > Target : Mega Block.

alt text

En script, puede crearlo con ARSessionFactory.CreateController.

ARSessionFactory.CreateController<MegaBlockController>();

Configurar target de seguimiento

Configurar el origen de datos del target

El target de seguimiento solo puede reconocerse y seguirse despues de configurar correctamente su origen.

En la vista Hierarchy, puede seleccionar el nodo block y rellenar el ID y Name del block.

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

block.Source = new MegaBlockController.BlockInfoSourceData(id, name);

Donde:

  • block id es el identificador unico del block y debe rellenarse.
  • block name es el nombre del block. Puede rellenarse libremente segun sea necesario; normalmente se recomienda rellenar el nombre real del block para facilitar su identificacion.
Consejo

block id y name se pueden obtener desde la biblioteca de localizacion correspondiente en EasyAR Developer Center.

Si no hay datos de block en la biblioteca de localizacion, debe agregar el Block necesario a la biblioteca de localizacion y volver a comprobar que la biblioteca de localizacion en la nube es valida.

Configurar el tracker usado por el target

El target de seguimiento sera cargado por el tracker configurado y seguido despues de localizarse correctamente.

En la vista Hierarchy, puede seleccionar el nodo block y luego seleccionar el Mega Tracker de la session.

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

block.Tracker = megaTracker;

Tracker se puede modificar en cualquier momento durante la ejecucion, y la carga/descarga ocurrira durante la ejecucion de la session. Si establece Tracker en null, este target se descargara del tracker establecido anteriormente. La carga del block es un proceso virtual y no fallara.

Nota

Hay varias condiciones clave para que un target sea seguido:

  1. El id de MegaBlockController.Source debe configurarse correctamente antes de MonoBehaviour.Start().
  2. El block correspondiente al id de Source debe existir en la biblioteca de localizacion.
  3. MegaBlockController.Tracker debe configurarse para usar la biblioteca de localizacion correcta.

Ciclo de vida del target de seguimiento

Un ciclo de vida comun de target de seguimiento es el siguiente:

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

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

El flujo se divide aproximadamente en varias fases:

  • Carga: el target de seguimiento es cargado por el tracker configurado. Esto ocurre despues de Start() del propio target y despues del inicio de la session.
  • Proceso de seguimiento: despues de localizar el target de seguimiento, el tracker seguira continuamente la posicion y el estado del target hasta que se localice otro target.
  • Descarga: el target de seguimiento se descarga del tracker y este deja de seguirlo. Esto ocurre cuando la session se detiene o cuando el target se configura para no usar tracker.

Pasos siguientes

Temas relacionados