Just a status of the exporters/animation features

at the moment there are 3 ways to export to AS3 in Away:

1/ single output for 1 mesh from the Mesh class as As3
it works fine, but its limited to 4000/4500 polygons. Above you are able to output, but you can't compile back again. The
class generated is simply too long.
suitable for static objects or parts of an object.
Can be reused indeed for the Animation Class

2/ same as above but animated. The result is like an md2 animated, but in as3 format. works ok. But major failure is reexport to as3 due to indexes loss. There is also the polygon limit
but its in most cases not an issue.

3/ the new exporter to as3
the class has a hex encoding and resuses uv,vertex info and generates primitives constructors when possible, saving again on data. I've successfully exported scenes with over 100k polys and it compiles back again with no problems.
at this time the class supports:
- object3D, objectContainers and Meshes. All primitives inclusives segments. Not yet the latest RoundedCube. (just realized that :) ) at this time, the output is working only for static objects, animated objects will be expored, but only last updated vertices list will be outputed. - object fast access; the class knows two handlers that returns all generated containers and Meshes
a simple class.meshes[index].material = new material is enough.

to do asap:
the new exporter, supports already (on my machine only) mesh animated
because of an indexes issue, the animations are playing ok, but the influence on vertices is out of sync. Why it works from loaded md2's its because I read and save the sequence directly from md2 information. Once this problem is fixed and that this patch is no longer needed, the exporter will be updated and we should get the following:

- Animator export to as3 will work. The reason its not possible right now is again, the async indexes problem. - Old animated as3 outputs will also be rexeportable to new as3 exporter. - The native animation player, will allow standard a smooth transition from actual state to the next new defined animation sequence
(thats the gun/shoot example you give). Again that fu#$% index issue.
- bones: the idea is to be able to save an animated collada to this format. Making the use of those ugly fat xmls for runtime obsolete.
this should be added pretty soon to the exporter.
- be able to mixe all of this in one output. It's already the case, but as complexty will grow, needs to be tested more. - Mesh to as3 will be removed once mesh animation is fixed. Making the swf size a bit smaller for the same price.

to be done
- lz77 encoding for the exporter. It's also already working but since we transport to systemclipboard there are a few characters that are omited or altered once in clipboard, ruining the whole encoding. That why I've done the hex encoding instead. It not as compressed as with the lz77 algo, but decompression is faster. Note here that a 140kb obj file becomes 45 kb and once compiled even smaller. If you look at the exported data, you also might find strange that the data is being compaired as uv's and vertexes level and not at unic numbers. The reason for this is simple: I've done it and the gain was very little, and encoding and decoding exec time were much longer. I expect soon to have an Air version available. And possibly be able to export all materials definition and sources as well. - This will also affect the ObjExporter and add support for .mtl generation and sources outputs. I've also done inline encoding of material sources, works but the resulting file becomes unsanely long: useless. - Like the primitives, in order to save more data, I want add extrudes support and Path information. - unic as3 data export. instead of exporting as classes, then a new class will emerge: As3loader. The idea is to load the away3d data dynamically like any text files, again, much more compact than the actual external solutions, using same Away dedicated features as explained above. It will not replace the as3 exports, it will just make the system more flexible.

in dev for animation feature:
- native programmable bones, be able to add bones to almost anything on screen via code. and of course be able to save/restore them as well.
- saving path animation.

As Rob said, we have a lot to do atm, but I hope this little status gives you an idea of the load of work involved just for these features.

Fabrice


On Nov 26, 2008, at 3:57 AM, theiss wrote:


Ya, I know you guys are crazy busy with the flash 10 stuff right now
(in addition to the usual stuff).

The loading the entire animation and then specifying the start and
length values seemed to be the closest to a final solution, I may
*try* to wrap my head around those classes and see if i can maybe find
where the start value is being reset and extend it (anything i may
figure out, i'll share of course). It's tantalizingly close...

Thanks for the super quick response Rob.

Reply via email to