Flarmanager Como hacer realidad aumentada


Hola. en esta nueva entrega quiero explicarles un poco acerca de como funciona FLARMANAGER. pues en algunas ocasiones no sabemos ni por donde comenzar, es importante tener almenos unos conocimientos en action script 3 “as3” en caso de no tenerlos, por lo menos tener conocimientos basicos de programacion para tener una idea de orden.

para iniciar deben recordar realizar un nuevo proyecto en action script “esto es clave”.

ahora vamos al codigo.

Importar las librerias con las que vamos a trabajar “librerias de FLARMANAGER” refiriendome que vamos a trabajar en flex, a la hora de crear el proyecto las podemos indicar o luego simplemente con doble clic dentro del proyecto, vamos a propiedades  y luego selecionamos la pestaña “actionscript build path” hay las podemos seleccionar.

Ahora bien dentro de nuestro codigo en la parte de abajo del package{ escribimos nuestros import.

Creamos nuestro swf. Normalmente yo lo creo de la siguiente forma:

[SWF(width=”640″, height=”480″, frameRate=”30″, backgroundColor=”#FFFFFF”)]

creamos nuestra public class. en este caso seria algo asi:

public class “nombre de tu proyecto” extends Sprite {todo nuestro codigo}.

les recuerdo que lo primero que debemos hacer es crear nuestras variables.

luego de crear las variables creamos nuestra public function”nombre de nuestro proyecto”{dentro de ella vamos a colocar el siguiente codigo:

this.flarManager = new FLARManager(“modelos/flarConfig.xml”);         
this.addChild(Sprite(this.flarManager.flarSource));            
this.flarManager.addEventListener(FLARMarkerEvent.MARKER_ADDED, this.onMarkerAdded);
this.flarManager.addEventListener(FLARMarkerEvent.MARKER_UPDATED, this.onMarkerUpdated);
this.flarManager.addEventListener(FLARMarkerEvent.MARKER_REMOVED, this.onMarkerRemoved);    this.flarManager.addEventListener(Event.INIT, this.onFlarManagerInited);

En el codigo anterior lo que hacemos es inicialmente informar donde se encuentra el archivo .xml y este archivo contiene la ubicacion de nuestros marcadores y la resolucion de los mismos y tambien en este codigo encontramos la informacion de cuando nuestro marcador es agregado, actualizado y removido.


listo!!! realizamos la creacion de PAPERVISION3D con el siguiente codigo y asi mismo dentro del codigo hacemos nuestro llamado al modelado 3D y le agregamos las caracteristicas que nosotros queramos. lo dejare de color rojo para que se vea mucho mejor.:

private function onFlarManagerInited (evt:Event) :void {
this.flarManager.removeEventListener(Event.INIT, this.onFlarManagerInited);       
this.scene3D = new Scene3D();
this.camera3D = new FLARCamera3D(this.flarManager.cameraParams);
this.viewport3D = new Viewport3D(this.stage.stageWidth, this.stage.stageHeight);
this.addChild(this.viewport3D);
this.renderEngine = new LazyRenderEngine(this.scene3D, this.camera3D, this.viewport3D);
this.pointLight3D = new PointLight3D();
this.pointLight3D.x = 1000;
this.pointLight3D.y = 1000;
this.pointLight3D.z = -1000;

var modelouno:DAE = new DAE();
modelouno.load(“models/vaca.dae”);
modelouno.rotationY = -90;
modelouno.scale = 70;
modelouno.y = -8;
modelouno.z = 10;
Realizamos el llamado al contenedor que ya fue creado a la hora de crear la varibles.        
this.modelunoContainer = new DisplayObject3D;
this.modelunoContainer.addChild(uno);
this.modelunoContainer.visible = false;
this.scene3D.addChild(this.modelunoContainer);

this.addEventListener(Event.ENTER_FRAME, this.onEnterFrame);}

Espero que todo este muy bien hasta este momento. ahora solo queda explicar estas funcciones de flarmanager que son: private function onMarkerAdded, onMarkerUpdated, onMarkerUpdated y onEnterFrame.

private function onMarkerAdded (evt:FLARMarkerEvent) :void {

this.modelunoContainer.visible=true;

this.”nuestro marcador var” = evt.marker;}

onMarkerRemoved

private function onMarkerRemoved (evt:FLARMarkerEvent) :void {

this.modelunoContainer.visible=false;
this.marker0 = null;}

tenga en cuenta que las anteriores funciones son iguales para todos los casos “No hay problema alguno”. ya para terminar solo falta agregar esta ultima funcion:

private function onEnterFrame (evt:Event) :void {
this.modelunoContainer.transform=FLARPVGeomUtils.convertFLARMatrixToPVMatrix(this.marker0.transformMatrix);

this.renderEngine.render();}

Esta es una pequeña muestra de los elementos que debe de tener flarmanager para que funcione correctamente dentro del codigo actionscript, si necesita mas informacion puede dirigirse a la pagina principal de flarmanager o si tal vez tiene algo de pereza XD puede realizar la pregunta en este blog y yo con mucho gusto respondere.

DESCARGAR


Comments
  1. Gustavo M.
  2. Jhon español
  3. ingcarlosreina
  4. Miguel Borra
  5. ingcarlosreina
  6. Anibal Martinez
  7. ingcarlosreina
  8. Alberto
  9. ingcarlosreina
  10. Bobal
  11. ingcarlosreina
  12. Rogelio Barbosa
  13. ingcarlosreina
  14. Rogelio Barbosa
  15. Juan Muñoz
  16. Gustavo
  17. ingcarlosreina
  18. ingcarlosreina
  19. Jose Gonzalez
  20. ingcarlosreina
  21. Adrian
  22. ingcarlosreina
  23. javier fdz
  24. ingcarlosreina

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *