fyi in case someone miss my blog ;) http://sleepydesign.blogspot.com/2010/03/away3dlite-md2-and-mdz-builder-from-dae.html
and it's just beginning, you can expect a lot more to come eg. 1. MDJ = MD2 + textures in JSON format , nothing to be excite it's just store mesh and texture path 2. MDJBulder = build MDJ just like MDZ but as JSON 3. MDF = MD2 that build as AMF format, expect 0 parse time compressed binary format 4. MDFBuilder come along obviously! 1, 2 is already in svn (lite builder) and use in real project for custom character and save it back some clean up need there 3, 4 is in my head anyone want to help me on MDF things feel free to be my guest ;) trust me it's fun! ;D cheers! On 29 April 2010 01:07, Ken Railey <[email protected]> wrote: > I am not sure I fully understand what you are proposing. Collada is pretty > explicitly XML, and it is the step of recursively walking the XML and > building all of the associated away3d structures that takes the most time. > > If you are suggesting loading and storing that XML in an initial byte > array, that won't significantly alter anything since it still has to become > XML at some point. > > If you are suggesting converting the Collada to some intermediate binary > format, then parsing *that* at runtime, that could potentially be fast. In > this case we are no longer loading a Collada at all, but some specific > one-off format though. > > I thought I saw some discussion on this list about an away3d specific model > format, but I haven't had a chance to check it out. One potential approach > could be to make that format parse really quickly, and just convert Collada > (or other) meshes to that for deployment I suppose. > > -Ken > > > On Wed, Apr 28, 2010 at 12:24 PM, Michael Iv <[email protected]>wrote: > >> That is a very useful info you fetched here . So let me ask you something: >> if the parser is going to read from bytearray , do you think the parse time >> would get shorter? Or it can't read from bytearray at all and in this case >> we have to deserialize the data as DAE and then parse , and then nothing >> changes? >> >> >> On Wed, Apr 28, 2010 at 8:18 PM, Ken Railey <[email protected]> wrote: >> >>> Well I can only speak for my own projects, but in my case with a large >>> animated Collada file the loading is measured in ms, while the parsing is >>> measured in seconds (sometimes approaching 10, depending on the mesh >>> complexity). >>> >>> I am also interested in any techniques anyone has found to speed up the >>> parsing step, particularly in the animated Collada case. It seems like >>> exporting the model directly to as3 using something like Prefab would be a >>> significant win, but I don't believe that animations are supported >>> currently. At least, they weren't the last time I attempted to test it. >>> >>> -Ken >>> >>> >>> On Wed, Apr 28, 2010 at 7:50 AM, Michael Iv <[email protected]>wrote: >>> >>>> Thinking of what you have just said my question is how much of those 3 >>>> seconds is loading time vs actual parsing(supposing that you load your >>>> models) ? Because if i bring in serialized model file with bytearray , it >>>> still needs to get parsed , but if the loading part is swift we can spare >>>> more time on the whole routine . >>>> >>>> >>>> On Wed, Apr 28, 2010 at 3:29 PM, tarwin <[email protected]> wrote: >>>> >>>>> If you've got animation in there you're up against a whole other >>>>> problem. One thing I've been looking (actively working on) at is >>>>> loading one Collada animation and substituting Vertex data (just a >>>>> quick replace in the XML) for the model I want, then using a hack of >>>>> Katopz' MD2Buidler creating AnimatedMeshs out of it. The two slowest >>>>> parts here are the parsing of the Collada and then the creation of the >>>>> AnimatedMesh, but I think (and this is where I'm still unsure) >>>>> creating some kind of pre-parsed Collada format might help a lot here. >>>>> >>>>> The idea is to build a serialized version of the Collada object >>>>> (Away3D object) that I can build into a Collada super quick, rather >>>>> than building it directly from the XML which is super slow (mostly >>>>> because XML reading is slow). If you have the serialized Collada >>>>> object in memory already hopefully you could just replace parts of it >>>>> (vertex data) and have it done super quick. >>>>> >>>>> It currently takes over 3 seconds to process a Collada and then create >>>>> an AnimatedMesh (1500 verts, lots of bones and 5 seconds of animation) >>>>> but I'm guessing this could be cut down quite considerably if you have >>>>> the cached Collada (maybe 1 second which could then be hidden with >>>>> some kind of transition). >>>>> >>>>> Thoughts anyone? How would YOU hold Collada info to create one >>>>> quickly, but also minimize file size? How about just creating a Class >>>>> wihich has a bunch of lines like: >>>>> >>>>> // not working code, just a quick idea !! >>>>> c = new Collada(); >>>>> m = collada.addMesh(Vector(123,43,.34,-34,34,-343)); >>>>> m.addBones(Vector(123,43,.34,-34,34,-343)); >>>>> >>>> >>>> >>>> >>>> -- >>>> Michael Ivanov ,Programmer >>>> Neurotech Solutions Ltd. >>>> Flex|Air |3D|Unity| >>>> www.neurotechresearch.com >>>> Tel:054-4962254 >>>> [email protected] >>>> [email protected] >>>> >>>> >>> >> >> >> -- >> Michael Ivanov ,Programmer >> Neurotech Solutions Ltd. >> Flex|Air |3D|Unity| >> www.neurotechresearch.com >> Tel:054-4962254 >> [email protected] >> [email protected] >> >> > -- Regards ----------------------------------------------------------- katopz, http://sleepydesign.com Away3D and JigLibFlash Developer Team
