Tell us a little about yourself, what is your background?
Jim: I'm Jim Foley formerly of Electric Rain (6-ish year employee). I currently work for a small interactive design firm named Purple Crayons. I'm the Director of Interaction Design and my daily task is to make stuff cool! I love to keep up with the latest and greatest technologies including Papervision 3D, Flash and Flex. Ever since Electric Rain has implemented Papervision 3D export I've been experimenting with Swift 3D + Papervision and coming up with some exciting content. Its fun and challenging content, plus, my clients love it! I'm a huge Swift 3D advocate and you can find me and a handful of old school Swift 3D experts prowling Swftdev.com on a daily basis.
Where do you draw your inspiration from?
Jim: Things that inspire me: Exploring new technologies, taking advantage of cool open source projects and learning the latest cutting-edge applications. I'm currently learning Flex and making my way into the "intermediate" user category. In the process of learning Flex I am also learning how to build AIR applications. Its all quite amazing content and to be honest I am becoming a psycho fan of Adobe products... I'm always learning new things about Papervision. One of my next goals for Papervision is to learn the Effects and ASCollada branches.
What elements of the site are made with Swift 3D?
Jim: This site features an energy drink can that is textured with the clients brand. As you navigate around the site the can and 3D menu interact and animate around based on user actions. Our client is a Public Releations and Marketing specialist and he wanted to portray the idea that he can adapt to any product or service. So, we use a 3D object that will be swapped out every 3 months or so to keep the site fresh and engaging (so be sure to check back).
What features of Swift 3D did you use to create these design elements?
Jim: The core shape of the can was designed using the Lathe Editor. From there I took it into the Advanced Modeler and optimized the geometry to reduce the polygon count as much as possible (in Papervision, low polygon models are essential). I also divided up the mesh into various surface groups. Each surface group and material is then translated to Papervision. When my model was all set up and textured I then exported out the model to the .dae format. I wrote my own custom AS3 / PV3D scene & rendering code so I could utilize the PV3D 2.0 class libraries and make my scene original and unique.
What was your biggest design challenge with the site?
Jim: Making the interactive 3D menu! I probably built the thing 4 times over. Each time I ran into technical limitations or the results were undesirable. I eventually figured out an optimal solution by usings a mashup of Flash, Papervision and external Papervision classes built by various people from the Flash Development community. My end solution was to use Papervision plane primitives that had a decent number of width segments. Then I modified the planes with a Bend Modified that was produced by Bartek Drozdz and bent the planes along the axis that had the increased number of segments. Then I used a bunch of 3D display objects to rotate and position them... When i finally had the 3D menu working (stable and solid) I was quite releived.
What other software did you use for the site, and how did you integrate Swift 3D with these other tools?
Jim: For this site I made an Actionscript project within Flex and used it for its code editor capabilities. I also used Flex to publish the end SWF file. I used Flash to generate a swc library of MovieClip assets to use within Flex and I also used Flash for making the materials used on my Papervision models. Obviously Papervision was my choice for a 3D engine framework. I also used Tweener and various classes from the Actionscript Cookbook AS3 Libraries (ASCB). And, you guessed it, Swift 3D was the 3D application I used for modeling my 3D object and generating the .dae file.
Where would you like to see Swift 3D go in the future?
Jim: I'd like to see additional support for Papervision 3D. Support the the ASCollada and Effects branch would be stellar. For example, using the Mesh Morpher to set up animation targets that I can use within my AS3/Papervision code and instantiate animation directly from within Flash (that would be sweet). I'd also love to see better texture mapping controls. Having the ability to skin and bake textures/lighting into my materials would add more realism to models used for Papervision. Those features aside, Boolean operations, Bones (inverse kinematics that can be exported for use in Flash Player 10 somehow), etc...
Do you have any Swift 3D projects in the works?
Jim: I always have Swift 3D projects in the works. You can check up on my current, previous and upcoming Swift 3D projects (or any projects for that matter) at my blog http://www.madvertices.com. I also have a great list of Papervision tutorials with videos, example files and source, along side with Swift 3D / Papervision related tutorials.