Skip to content

Añadir marcadores

Juan Carlos edited this page Aug 19, 2017 · 2 revisions

Añadir marcadores

  1. Despues de haber creado el marcador se agregan los archivos .patt en la carpeta Data ubicada en assets.

  2. Ahora debemos cargar los marcadores en la aplicación, esto se hace en AndroidLauncher en la función configureARScene() especificando un nombre o alias, tipo del marcador, ruta al archivo y tamaño. Se recomienda un tamaño mayor a 4 unidades para evitar problemas de recorte cuando la camara está muy cerca al marcador. Ver el archivo completo

public void configureARScene() {
	loadMarker("hiroMarker",MarkerType.SINGLE,"Data/hiro.patt",8);
	loadMarker("kokoMarker",MarkerType.SINGLE,"Data/koko.patt",8);
	loadMarker("wolfMarker",MarkerType.SINGLE,"Data/lobo.patt",8);
	loadMarker("watercraftMarker",MarkerType.SINGLE,"Data/barco.patt",8);
	loadMarker("logoMarker",MarkerType.NFT,"Data/icon",0);
}
  1. El siguiente paso es referenciarlo en nuestra aplicación, en la clase main del módulo core referenciamos el nombre que asignamos al marcador junto a un modelo previamente cargado usando el assetManager de libGDX. Ver el archivo completo
manager.load("wolf.g3db",Model.class);
manager.load("koko.g3db",Model.class);
manager.load("watercraft.g3db",Model.class);
manager.load("landscape.g3db",Model.class);
  1. Ver si el marcador es reconocido y pintar los objetos en la pantalla según las coordenas:
if (arToolKitManager.markerVisible(markerName)) {

transform.set(arToolKitManager.getTransformMatrix(markerName));
/* Actualizar Cámara */
transform.getTranslation(camera.position);
camera.position.scl(-1);
camera.update();

/* Dependiendo de las coordenadas del modelo puede necesitar rotarlo */
transform.rotate(1, 0, 0, 90);
ModelInstance instance = instances.get(markerName); //Obtiene la instancia del objeto 3D desde un arreglo de instancias
instance.transform.set(transform);
/* Pintar objeto 3D en pantalla*/
batch_3d.begin(camera);
batch_3d.render(instance, environment);
batch_3d.end();

}
  1. Ejecutar Build y correr la aplicación en el dispositivo o simulador
Clone this wiki locally