It has been a while since we have done much with 3d engines in Flash. We figure that the time is once again here for it to take center stage again. There are a ton of different 3d engines for Flash / ActionScript, with Stage3D and StageVideo coming in Flash Player 11, Flash’s ability to render and process 3d is so much better than just a year or two ago. We are writing this because we have decided to take a look at the 3d engines that we used a couple years ago and see where they are at now and what else is out there and still growing.
The main 3d engines for Flash / ActionScript that we have worked with or played with over the past 5 years are Papervision, Away 3D and Alternativa. There are a bunch of others like Flare 3D, Yogurt 3D, and the 3D tools build into the Flash IDE itself. But we are going to focus on where the main ones are at, as well as the usefulness of the built in 3d that Flash ships with.
First off, Papervision. A couple of years ago, the excitement around this 3d engine was huge. Some big names in the Flash Development world were taking the throttle and creating some really groundbreaking stuff. The excitement for Papervision X was building (at least ours was) and a strong community of developers and designers were getting behind this magical creation. Well, a couple years later and it hasn’t gone much further than that. Our thought on Papervision is that if you are required to support older versions of Flash Player, you might want to consider it an option.. otherwise, move on.
Next in line is Away 3d. When Papervision was at its most popular point, Away 3d was its closest competitor. Away has always had great potential, the only reason that we never used it in the beginning was it was easier just to continue building with Papervision as it was being developed. Today, Away 3d has a build for Flash Players 9, 10, and 11. They were some of the first to jump on the development of Molehill (Stage3D), they have been constantly adding and building on their engine. Away 3d is a great option if you would like to have a solid code base for your 3d application no matter the Flash Player version.
Then there is Alternativa. We have only run tests with Alternativa over the years, never used it in production. As developers, it was always much easier to have complete access to the code-base of a 3d engine. Alternativa delivers a swc file that gives developers full access to the engine, but it was always a little bit more challenging to work with so many unknowns (material type, object types, etc). Our tests have always run really well but we just opt for Away 3D because the class library is more open.
Finally there is the built in 3D features of the Flash IDE. We have used this a couple of times for simple transitions of shapes of interface components on the stage where there was no need to work with a big framework that would add unnecessary complexity and file size to the Flash application. It works quite well and quickly produces some great, simple 3d effects. There have a couple issues noted with the 3d in Flash, namely a blurry effect that is easy to overcome with a couple little tricks.
To sum it all up, Flash 3D has come a long way over the past couple of years and looks like it has a bright future. There are new libraries all the time, updated libraries to work with the amazing enhancements of the Flash Player, GPU acceleration in the player itself and the inclusion of an ActionScript API for Unity 3D. We look forward to working more with 3D in the future and using these new enhancements to push the limits of online interaction and gaming.