Agregar target de seguimiento de Mega
Este articulo presenta como agregar y configurar targets de seguimiento de Mega.
Antes de empezar
- Compruebe Mi funcion de localizacion ya se puede usar? para confirmar que la biblioteca de localizacion se haya creado correctamente y que se hayan agregado mapas.
- Importe la version mas reciente del plugin EasyAR y habilite la funcion Mega
- Conozca los conceptos basicos y metodos de uso de targets de seguimiento de Unity AR
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.

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.

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.

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:
- El id de MegaBlockController.Source debe configurarse correctamente antes de MonoBehaviour.Start().
- El block correspondiente al id de Source debe existir en la biblioteca de localizacion.
- 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.







