3D GRAPHICS is a medium of perception. Methods differ for creating the effects, but the results can create a new dimension of meaning for users of an interactive 3D system.

Primer
There is no defined line between 2D and 3D interfaces. Whether it's Toy Story, or a cool 3D Flash interface, its all just levels of smoke and mirrors on top of one-dimensional computer calculations. The key to understanding and developing 3D interfaces is to understand the degree of spatial realism you need to simulate, and exploiting the power of your computer to do most of the work for you. For screen designers, there are a number of easily-accessible avenues to explore interactive 3D without developing entirely new skill sets. This page describes the most easily accessible routes to 3D interface programming.

Basic 3D Perception
Creating a 3D interface out of a 2D interactive piece is easier than you might think. The basics include intelligent positioning, scaling, rotation and colour effects of 2D elements to create a virtual-3D effect. The positioning of your elements should reflect some type of perspective in that objects that are farther away appear closer together. Objects should also be scaled proportionally with this perspective. Rotation is difficult to code yourself but it can be done by copying a few lines of code representing the transformation matrices to rotate 3-dimensional points. Dulling the colours of objects that are far away is another way to emphasize the depth of your interface. In an environment with native 3d-support, these effects will be taken care of for you, but they can also be coded into any programming language or simulated in Flash.

 

3D in Flash
While 3D transformations are not native to Flash, there are a number of options for creating believable 3d effects with or without Actionscript. The most easily executed method is to tween the position, scale and brightness of your movie clips in a meaningful way. This can also be done dynamically without too much Actionscript, assuming the motion you are scripting does not require any rotation in 3d space.


download FLA

3D in Processing
While simple things like displaying images and fonts in Processing requires coding, 3D is one area that Processing provides an excellent set of functions for prototyping. By building 3D transformations into the Processing code, sophisticated geometry can be prototyped quickly and easily with easy access to 3D rotation and rendering of solid objects.


view source

Next Level: 3d Engine Programming
From here there are two avenues in which to develop a 3D interface. While Processing is excellent for quickly prototyping complex visualizations, you may want to leverage Flash's animation features. To go beyond the basic principles for simulated 3D discussed above requires a lot of math packed into a few lines of code. Before embarking down the slippery slope of engine programming, take some time to familiarize yourself with how Processing treats 3D objects.