oh yeah, it's in the collada objects, sorry I confused it... About the mesh info, it should be a child of m0, m1 & m2. Try using getChildByName, if you know the collada's mesh name, or just try iterating through its children.
cheers Cauê 2010/2/21 tarwin <[email protected]> > I think it's actually the Collada objects that dispatch the > ParserEvents. I tried it like: > > c0.addEventListener(ParserEvent.PARSE_SUCCESS, pe); > c1.addEventListener(ParserEvent.PARSE_SUCCESS, pe); > c2.addEventListener(ParserEvent.PARSE_SUCCESS, pe); > > private function pe(e:ParserEvent):Void > { > ps++; > if (ps == 3) { > parseComplete(); > } > } > > private function parseComplete():Void > { > mp = new Morpher(m1); > addEventListener(Event.ENTER_FRAME, ef); > } > > But alas, the m0, m1, m2 all have nothing in the vertices. If I try > tracing these out every frame same thing. The strange thing is that > the data MUST be there as it renders fine. > > Any ideas? > > On Feb 22, 11:14 am, Cauê Waneck <[email protected]> wrote: > > Hey Tarwin! > > > > Have you got the Morpher working with Lite? The problem with the empty > > arrays is that since the parser works asynchronously, you'll only get the > > results when the ParserEvent.PARSE_SUCCESS is dispatched for each parsed > > geometry. So you've got to m0.addEventListener(ParserEvent.PARSE_SUCCESS, > > onSuccess), for every parser object. > > > > It's kind of hard to get the Morpher working with complex geometries, > since > > it all comes down to the way the geometry was exported - to map each > source > > vertex to the destination vertex. So let us know if you've been able to > do > > it! > > > > cheers > > Cauê > > > > 2010/2/21 tarwin <[email protected]> > > > > > > > > > Hi, > > > > > I've moved the Morpher (core.base.Morpher) to Away3D Lite (actually > > > I'm using the haXe version, but same difference), and got it working > > > perfectly with geometry created programmatically ie "new Sphere(...);" > > > but am having trouble getting it to work with Collada objects. > > > > > I'm guessing this is something to do with Collada objects (those given > > > by .parseGeometry) are different in some way. The problem I'm facing > > > is that anything I send to the Morpher from parseGeometry just has an > > > empty vertices Vector<Float>. > > > > > My code looks as follows: > > > > > > --------------------------------------------------------------------------- > -------------- > > > > > override private function init():Void > > > { > > > super.init(); > > > > > var daeData1 = Resource.getString("dae1"); > > > var daeData2 = Resource.getString("dae2"); > > > > > var c0 = new Collada(); > > > var c1 = new Collada(); > > > var c2 = new Collada(); > > > > > m0 = cast c0.parseGeometry(daeData1); > > > m1 = cast c1.parseGeometry(daeData1); > > > m2 = cast c2.parseGeometry(daeData2); > > > > > mv0 = c0.geometryLibrary.getGeometryArray()[0].vertices; > > > mv1 = c1.geometryLibrary.getGeometryArray()[0].vertices; > > > mv2 = c2.geometryLibrary.getGeometryArray()[0].vertices; > > > > > scene.addChild(m1); > > > > > mp = new Morpher(mv1); > > > > > addEventListener(Event.ENTER_FRAME, ef); > > > } > > > > > private function ef(event:Event):Void > > > { > > > super.onEnterFrame(event); > > > > > m0.rotationY = -180 + 360 * (mouseX / stage.stageWidth); > > > m1.rotationY = -180 + 360 * (mouseX / stage.stageWidth); > > > m2.rotationY = -180 + 360 * (mouseX / stage.stageWidth); > > > > > mp.start(); > > > mp.mix(m2, Math.sin(Lib.getTimer()/1000)*100000); > > > mp.finish(m0); > > > > > view.render(); > > > } > > > > > > --------------------------------------------------------------------------- > -------------- > > > > > The test I've done with spheres seems to be giving the correct > > > results, although I'm worried I'm missing something. You'll see I've > > > also created references to the objects inside the geometryLibraries > > > which I think would work but then you have to pass the Vectors > > > themselves to the Morpher and thus completely changing how it works. > > > > > So I guess the question comes down to "How do I get access to the > > > geometry as a Mesh from parseGeometry / a Collada"? >
