-
Notifications
You must be signed in to change notification settings - Fork 3
Añadir marcadores
Juan Carlos edited this page Aug 19, 2017
·
2 revisions
-
Despues de haber creado el marcador se agregan los archivos .patt en la carpeta Data ubicada en assets.
-
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);
}
- 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);
- 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();
}
- Ejecutar Build y correr la aplicación en el dispositivo o simulador