hi andrew,

can you show your final source to learn how it works ?

bensen

On 4 Mai, 19:07, Andrew <[email protected]> wrote:
> Thanks to Rob, he addressed my Issue on his homepage. Running
> perfectly now.
>
> On May 3, 10:51 pm, Andrew <[email protected]> wrote:
>
> > Thanks for the offer Ian. But if its not the Flash IDE I would just
> > give up. I'm really used to working with Away3D in the Flash. I'm
> > still tinkering away with the code, still no luck. Everything is
> > running. There is something I must be missing. I can run it in Flex,
> > but I want to add Flash components to it.
>
> > Latest Code:
>
> > package
> > {
> >     import away3d.animators.data.*;
> >     import away3d.cameras.*;
> >     import away3d.containers.*;
> >     import away3d.core.base.*;
> >     import away3d.core.clip.*;
> >     import away3d.core.render.*;
> >     import away3d.core.utils.*;
> >     import away3d.events.*;
> >     import away3d.lights.*;
> >     import away3d.loaders.*;
> >     import away3d.materials.*;
>
> >     import flash.display.*;
> >     import flash.events.*;
> >     import flash.filters.*;
> >     import flash.media.*;
>
> >     import org.libspark.flartoolkit.away3d.*;
> >     import org.libspark.flartoolkit.core.*;
> >     import org.libspark.flartoolkit.core.param.*;
> >     import org.libspark.flartoolkit.core.raster.rgb.*;
> >     import org.libspark.flartoolkit.core.transmat.*;
> >     import org.libspark.flartoolkit.detector.*;
>
> >     public class FLARdemo2 extends Sprite
> >     {
> >         //camera configuration
> >         [Embed(source="../assets/camera_para.dat",
> > mimeType='application/octet-stream')]
> >         private var CameraDataClass:Class;
>
> >         //marker configuration
> >         [Embed(source="../assets/FLAR-marker.pat",
> > mimeType='application/octet-stream')]
> >         private var PatternDataClass:Class;
>
> >         //ogre MD2 animation
> >         [Embed(source="../assets/ogre.md2", mimeType='application/
> > octet-stream')]
> >         private var Model:Class;
>
> >         //ogre texture
> >         [Embed(source="../assets/ogre.jpg")]
> >         private var Texture:Class;
>
> >         //scene objects
> >         private var scene:Scene3D;
> >         private var camera:FLARCamera3D;
> >         private var view:View3D;
>
> >         //config properties
> >         private var screenWidth:Number = 400;
> >         private var screenHeight:Number = 300;
> >         private var threshold:Number = 80;
> >         private var markerWidth:Number = 80;
>
> >         //FLARToolkit object
> >         private var fBaseNode:FLARBaseNode;
> >         private var fParam:FLARParam;
> >         private var fCode:FLARCode;
> >         private var fWebcam:Camera;
> >         private var fVideo:Video;
> >         private var fCapture:Bitmap;
> >         private var fDetector:FLARSingleMarkerDetector;
> >         private var fResult:FLARTransMatResult;
> >         private var fRaster:FLARRgbRaster_BitmapData;
>
> >         //marterial objects
> >         private var material:BitmapMaterial;
>
> >         //scene objects
> >         private var model:Mesh;
>
> >         //enterframe variables
> >         private var blurFilter:BlurFilter = new BlurFilter(0, 0,
> > BitmapFilterQuality.LOW);
> >         public var update:Boolean = false;
>
> >         /**
> >          * Constructor
> >          */
> >         public function FLARdemo2()
> >         {
> >             init();
> >         }
>
> >         /**
> >          * Global initialise function
> >          */
> >         private function init():void
> >         {
> >             initFLARToolkit();
> >                         setupCamera();
> >             initEngine();
> >             initMaterials();
> >             initObjects();
> >                         initListeners();
> >         }
>
> >                  //Initialize the Camera
> >                 private function setupCamera():void
> >                 {
> >                         fWebcam = Camera.getCamera();
> >                         fWebcam.setMode(screenWidth, screenHeight, 30);
> >                         fVideo.attachCamera(fWebcam);
> >                 }
>
> >         private function initEngine():void
> >         {
> >             scene = new Scene3D();
>
> >             view = new View3D({scene:scene, camera:camera});
> >             view.x = screenWidth - 5;
> >             view.y = screenHeight;
> >             //view.addSourceURL("srcview/index.html");
> >             addChild(view);
> >         }
>
> >         /**
> >          * Initialise the FLARToolkit
> >          */
> >         private function initFLARToolkit():void
> >         {
> >             //setup camera parameters
> >             fParam = new FLARParam();
> >             fParam.loadARParam(new CameraDataClass());
> >             fParam.changeScreenSize(screenWidth, screenHeight);
> >             camera = new FLARCamera3D();
> >             camera.setParam(fParam);
>
> >             //setup marker code
> >             fCode = new FLARCode(16, 16);
> >             fCode.loadARPatt(new PatternDataClass());
>
> >             //setup marker detector
> >             fDetector = new FLARSingleMarkerDetector(fParam, fCode,
> > markerWidth);
> >             fDetector.setContinueMode(false);
> >             fResult = new FLARTransMatResult();
>
> >             //setup webcam
> >             fVideo = new Video(screenWidth, screenHeight);
>
> >             //setup output capture
> >             fCapture = new Bitmap(new BitmapData(screenWidth,
> > screenHeight, false, 0), PixelSnapping.AUTO, true);
> >             fCapture.x = 0;
> >             fCapture.y = 0;
> >             fCapture.scaleX = 2.0;
> >             fCapture.scaleY = 2.0;
> >             addChild(fCapture);
>
> >             //setup output bitmapData
> >             fRaster = new FLARRgbRaster_BitmapData
> > (fCapture.bitmapData);
> >         }
>
> >         /**
> >          * Initialise the materials
> >          */
> >         private function initMaterials():void
> >         {
> >             material = new BitmapMaterial(Cast.bitmap(Texture));
> >         }
>
> >         /**
> >          * Initialise the scene objects
> >          */
> >         private function initObjects():void
> >         {
> >             //setup baseNode
> >             fBaseNode = new FLARBaseNode();
> >             scene.addChild(fBaseNode);
>
> >             //setup model
> >             model = Md2.parse(Model, {material:material}) as Mesh;
> >             model.scale(0.02);
> >             model.y += 45;
> >             model.play(new AnimationSequence("stand", true, true,
> > 10));
> >             fBaseNode.addChild(model);
> >         }
>
> >         /**
> >          * Initialise the listeners
> >          */
> >         public function initListeners():void
> >         {
> >             addEventListener( Event.ENTER_FRAME, onEnterFrame );
> >         }
>
> >         /**
> >          * Navigation and render loop
> >          */
> >         private function onEnterFrame(event:Event):void
> >         {
> >             fCapture.bitmapData.draw(fVideo);
>
> >             if (update) {
> >                 try {
> >                     //check for marker
> >                     if (fDetector.detectMarkerLite(fRaster, threshold)
> > && fDetector.getConfidence() > 0.5) {
> >                         view.visible = true;
> >                         fDetector.getTransformMatrix(fResult);
> >                         fBaseNode.setTransformMatrix(fResult);
> >                     } else {
> >                         view.visible = false;
> >                     }
> >                 } catch (e:Error) {
> >                     trace("Error: " + e.message);
> >                 }
>
> >                 view.render();
>
> >             } else {
> >                 fCapture.bitmapData.applyFilter(fCapture.bitmapData,
> > fCapture.bitmapData.rect, fCapture.bitmapData.rect.topLeft,
> > blurFilter);
> >             }
> >         }
> >     }
>
> > }

Reply via email to