Impressed by the immaculate beauty of 3d vectors, I’ve been impatient to use Mathieu Badimons FIVe3d in an actual project.
So I was very excited, when Eva Eidenbenz from the ‘Fachstelle für Gleichstellung’ (office for gender equality) of the City of Zurich asked me to develop an animation for their sober, CMS-controlled webpage – using beautiful vector illustrations created by Visual Dope Laboratory .
Changing one parameter – the ‘viewdistance’ - turns the same animation into something like a screensaver: see it here.
The illustrations came in the EPS format, which can be imported into Flash (8, import into newer versions does not work for me). In order to use them in a 3D Actionscript library like FIVe3d it is necessary to extract the drawing data – the coordinates of the defining points, the colorvalues, in short: all the data needed to redraw the illustriations with code, using the the Actionscript Drawing API.
As Mathieu was kind enough to point out to me, FIVe3d can handle drawing data extracted with the decompiler ASV, using a function written years ago by Peter Hall. I gave it a try, but found it a bit limiting for my purposes: the fills are not extracted, so the data needs manual adjustment, which can get errorprone and timeconsuming when dealing with dozens of complex illustrations.
Eventually I opted for the sel2draw utility by the brilliant Robin Debreuil and added some functions to the five3D.display.Graphics3D class so that it can handle the data format provided by sel2draw.
You can download the amended Graphics3d class. It contains some more comments about how to use sel2draw.
sel2draw can extract the data of any shape in the Flash IDE, regardless of its origin: imported EPS, artwork that was created with Flash’s drawing tools, imported bitmaps that were ‘traced’ inside Flash, etc.
One last note: working with FIVe3d was perfectly straightforward and the code is so well structured that it is fairly easy to find ones way around, even without documentation. I’m certainly looking forward to use it again in future projects.