it's 0% progress there for MDF and i'll start implement on that when i've free time which mean not so soon ;) so feel free to make it from scratch you can use MDZBuilder for guideline there, it's already half way i think your job is find the way to externalize class to AMF format and read it back and more further to pack them in one piece like MDZ is export as SWF that contain mesh+texture inside, should look like this for comparison
MDZ = ZIP = [MD2_0, Texture_0, MD2_1, Texture_1,...] AWF = SWF = [MDF_0, Texture_0, MDF_1, Texture_1,...] MDF = AMF = mesh and/or animation as MD2 which externalize lol look like i just add another format there ;p whatever, it's just quick idea , the format name can be change later maybe MDA instead of MDF, bal bla bla, name is another fun part ;D fyi claus already did swf export here http://wiki.github.com/claus/as3swf/ good news is after this format done, it's all native flash things which mean you can use this for other engine in future that use flash native 3d too (if we do it right way, keep balance with native) except animation part that's still need extra class to handle ;) all this running fine in my head, so if you want to help just do it, here's all i got now ;) On 29 April 2010 01:45, Michael Iv <[email protected]> wrote: > Katopz 3.4 looks interesting , where it stands currently ? What help do you > need ? > > > On Wed, Apr 28, 2010 at 9:27 PM, katopz <[email protected]> wrote: > >> 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 >> > > > > -- > 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
