Table of Contents
In this tutorial you will learn a little bit about what 3D is and how it is used on the web. As well as how to harness tools that have been created for you to build your own 3D experiences.
I am going to start out with a brief discussion and introduction of 3D and what Papervision brings to the table and then move on to the full tutorial. The files for the tutorial can be found by clicking here: tutorial files
What is 3D?
A standard website is created in 2D space; that is it consists of objects (text, images, video, etc) on an X and Y plane. People have faked perspective in the past using graphics tool, but in general it has been 2D. What 3D does is add another dimension to that traditional plane. Alongside the X and Y, there is now a Z. This 3rd dimension allows for depth to be shown.
I remember my entry exam for college, I had to look at a series of shapes and come up with any number of ideas for what it could be. For instance, if you look at a circle with another circle inside it you would think that it was just two circles. If you were told to imagine those same two circles in 3D space the possibilities are much greater as to what they are. It could be a bowling pin from the top, an empty glass, a garbage can, or a football being tossed into the center of a hoop.
If you are having still having trouble envisioning the 3rd dimension, here is a great video/project by Rob Bryanton explaining how dimensions work:
What is Papervision?
Papervision is a 3D engine built with Actionscript that enables developers to start working in 3D. Using a ton of math, the Papervision team has found a way to create a simulated 3D environment.
Papervision consists of a ton of Actionscript classfiles that developers can use to create objects, scenes, and even worlds in 3D space. 3D applications and engines generally build objects using smaller objects, Papervision is no different. It uses triangles as the building blocks for larger objects in the scene. The more triangles that are used, the better the quality but more triangles means that it is harder on the processor.
Being open-source, developers are able to see all the code that they are working with which allows for a better understanding of what they are using. This also means that the development community has to ability to build on what the original developers have done without having to go through the hardships involved in extending something that is not open-sourced.
Open source means that it can be easier to understand how a complex system works because you can view all of the code that it was built with. If you have any more questions regarding the benefits of an open-source system, there is a good article located here: http://www.directionsmag.com/article.php?article_id=889&trv=1
Why use Papervision?
Papervision is a great 3D engine for Flash, but there are others. These include Sandy, Away3D, Alternative, and more. When push comes to shove it is more of a personal preference that I came to like working with Papervision.
I think that the biggest reason to use Papervision (other than comfort from it being the first engine that I tried) is that it is so widely supported in the Flash community. I seem to be able to find more help with Papervision than with any of the other application. Having the ability to tap into the minds of other developers in forums, at conferences, and anywhere really is a priceless tool.
What has been done with Papervision?
I have to start off with a site that I had a hand in building, and that is www.amg-360.com. Apart from a couple of prototypes, this was my first major 3D application for the web.
Some other good examples can be found at: http://dailypv3d.wordpress.com