Hi!

It could be a problem in this line:
_mesh = obj.children[0] as Mesh;

try simple:
_mesh = event.target.handle as Mesh;

You have to "search" for your mesh in event.target.handle

I needed to add "children[0]" due to my LightWave exporter.

Paweł

On Jan 4, 4:46 pm, Larry Van Wave <[email protected]> wrote:
> For some reason, when I copy and paste this code into flash, it is
> giving me an error on the last function "onLoaderSuccess"
>
> Are these the correct lines of code to put in the obj name:
> _objLoader = Obj.load(_objURL, {material:_materialObject3D,
> name:"OBJ", scaling:10}); //adjust the scaling as needed
>
> name:"OBJ" is where I'm adding the name of my lightwave file that I
> have exported as an .obj
>
> and for my material:
>  _materialLoader.load(new URLRequest(_materialURL));
>
> Thanks!
> Larry
>
> 2009/12/30 Paweł Stanisławczuk <[email protected]>:
>
>
>
> > Hi!
>
> > Someone can call this method "old school" but it works for me
>
> > First I load material, then obj. Import required classes. It's a copy
> > paste of 2 different classes, but it should work.
>
> > private var _materialLoader:Loader;
> > private var _materialObject3D:BitmapMaterial;
> > private var _objLoader:Object3DLoader;
> > private var _mesh:Mesh;
>
> > public function loadMaterial():void {
> >        _materialLoader = new Loader();
> >        _materialLoader.contentLoaderInfo.addEventListener(Event.INIT,
> > onComplete);
> >        _materialLoader.contentLoaderInfo.addEventListener
> > (IOErrorEvent.IO_ERROR, onMaterialLoaderError);//create this function
> >        _materialLoader.load(new URLRequest(_materialURL));
> > }
>
> > private function onComplete(event:Event):void {
>
> >        _materialLoader.contentLoaderInfo.removeEventListener(Event.INIT,
> > onComplete);
> >        _materialLoader.contentLoaderInfo.removeEventListener
> > (IOErrorEvent.IO_ERROR, onMaterialLoaderError);
>
> >        var bitmap:Bitmap = materialLoader.content as Bitmap;
> >        bitmap.smoothing = true;
>
> >        _materialObject3D = new BitmapMaterial(bitmap.bitmapData);
> >        _materialObject3D.smooth = true;
>
> >        loadOBJ();
>
> > }
>
> > private function loadOBJ():void {
> >        _objLoader = Obj.load(_objURL, {material:_materialObject3D,
> > name:"OBJ", scaling:10}); //adjust the scaling as needed
> >        _objLoader.addOnSuccess(onLoaderSuccess);
> >        _objLoader.addOnError(onLoaderError); //create this function
> > }
>
> > private function onLoaderSuccess(event:LoaderEvent):void {
> >        var obj:ObjectContainer3D = (event.target.handle as
> > ObjectContainer3D);
> >        _mesh = obj.children[0] as Mesh; // I need this trick, I export OBJ
> > using LightWave
>
> >        scene.addChild(_mesh);
> > }
>
> > Good Luck!
> > Paweł
>
> > On Dec 30, 7:07 pm, Wave3d <[email protected]> wrote:
> >> I am a rookie at using away3d, but I like the ability to have a 3d
> >> engine using flash. I have tried to load in .obj files, and have
> >> looked online for tutorials, yet I haven't found one that will work
> >> yet. Do you have any information on the basic code for loading a .obj
> >> file into flash using away3d, I'm looking for the bare bones code just
> >> so I can understand what elements of code have to be in the
> >> actionscript to load the model.

Reply via email to