AS3 3D experiments

I had the very great pleasure on Thursday of meeting Carlos Ulloa Matesanz, ie Mr PaperVision3D! We have very similar backgrounds, with a mixture of technical and creative, and we both have a background in developing for the Amiga!

I love what Carlos and the team have been doing with PaperVision, and, having studied the code over the last few days, I’m truly impressed with the quality of code and capabilities of the system. I’m particularly excited about the new shading demos that Ralph Hauwert and the others have been compiling. I can’t wait for the lighting effects to be integrated into PV3D, it’ll really come in to its own at that point.

Having built my own 3D engine, I recognise the achievements of Carlos and his team. The maths involved in actually getting 3D objects rendered is one thing, but then integrating it into a useable API which is accessible, well-organised and optimised is quite another thing. But they really seem to have the groundwork there and ready to go. And the fact that it can import Collada and ASE objects is something I’ve never even attempted!

And as for my 3D engine: it is evolving into a monster out of control, but it does have some good points. It has a very optimised lighting system, and some basic cell-effects, along with a 2D sprite and particle system.

But I’ve been dreading porting it to AS3 for a few months now, so I’m very pleased to say that yesterday, in the space of only a few hours I managed to get the converted code working! And it was actually surprisingly easy! And the speed increase is incredible…

There’s still a way to go with it, not quite everything is working yet, and it really does need a serious reworking to be futureproof and extendable, but at least we’re on the road.

Here’s the first example, compare this torus with the one in AS2 a few posts ago and you’ll see what I mean!

[kml_flashembed movie=”/wp-content/uploads/manual/2007/plugin3d.swf” width=”445″ height=”200″ FVERSION=”9″ SCALE=”noborder” /]