Away3D’s latest update brings some FPS love to Flash… in the form of a brand new render engine and data format for large play areas.
2.5.0 and 3.5.0 represent the latest full engine releases of Away3D for Flash Player 9 and 10. You can grab the code either from the svn repository or the downloads page, where you will also find a bunch of updated examples.
Accompanying the Away3D update is the latest version of Prefab3D a 3D preparation tool created by Fabrice Closier using Adobe AIR. You can download the runtime from the official Prefab3D installation page, or from the AIR Marketplace where you can also submit feedback (and we encourage you to do so!). Prefab3D is still very much a work in progress, but its newest feature allows the export of specially formatted .awd files optimised for FPS rendering (otherwise known as BSP files).
As an example of what is possible with this new feature, the following Hacienda demo was created using the latest Prefab3D runtime and Away3D sources:
A number of rooms can be navigated using the mouse and keyboard, with collision detection enabled by processing the BSP format in Away3D. The beautifully shaded textures were created using Prefab3D’s texture baking feature.
Be careful where you tread, as this is still an experimental demo! Further optimizing work is being carried out on collision and rendering loops in Away3D, but even at this stage, the speed benefits are evident.
Alongside the new FPS features, the Away3D codebase has undergone a fairly major rehaul and anyone wishing to upgrade their project to use 2.5 / 3.5 needs to be prepared for a little re-formatting here and there. We apologies in advance, but most of the updates have been in preparation of the long awaited Away3D 4.0 release which will be the next major version release for Flash Player 10 only. A full set of changes will be published later today on our mailing list.
For your own Hacienda demo, we have prepared a simpler setup creating the interior of a bunker, for which source code is available. Click the image below for the demo, or go straight to the source. The version shown here uses Flash Player 10, but code for both 9 and 10 can be found in the respective 2.5.0 and 3.5.0 examples downloads.
Using Prefab 1.3, the following video takes you through the creation process for the Bunker demo, step by step. The only starting requirement is a simple textured model, ready for processing. The final output is the demo you see above!
Livedocs will be updated to the new codebase within the next few days. As usual, please direct any bug reports to our googlecode issues list, and any questions about functionality to our mailing list.
For a long time, Away3D has been about the pursuit of rendering high-quality, realtime 3D in Flash. However, for the same amount of time, there has been a completely different set of skills emerging around the creation of the 3D content itself, to get the best out of the engine. In the pursuit of 3D FOR Flash, very little has been done towards producing a common set of tools that can be reused and applied to any project. Awaybuilder allows a certain amount of extra control to the designer, but for someone with little or no programming skills, how best do you deliver to a Flash developer the content he/she needs to get a good result in Away3D?
Prefab3D v1.0
Fabrice Closier, core member of the Away3D team, has today released a tool that should help answer that question. It is built on over two years experience creating top quality 3D content in Away3D. If you are a Flash designer or an experienced Flash developer working on Flash 3D projects, this application might become your best friend!
Release 1
Prefab3D can be downloaded for free as an AIR application. Many features still under development haven’t made the 1.0 release, but as you will notice, there is a little button in the main menu that says: “check update”… At present, the tool can import all model formats supported by Away3D, and allows you to export as an AS3 class or OBJ file, ready for insertion into your Away3D project.
Quick start
For a full list of features and some information on how to get started with the tool, head over to the Prefab3D homepage. More documentation and tutorials should be coming your way soon!
Filesize and framerate are generally two of the biggest concerns when using a 3d framework in Flash. Many a mail, comment and blog has written the relative merits of one engine over another in these terms. Everyone wants more for less, faster for smaller, better for cheaper. In fact, we would go as far as saying you’re quite a demanding lot! Well, there is lite (sic) at the end of the tunnel. And thankfully it isn’t an oncoming train, but a brand new Away3D engine that will change the way you use 3d in Flash 10.
What Away3D Lite is is the fastest and smallest fully featured 3d engine in Flash to date.
Currently weighing in at under 25K, Away3D Lite can be used in projects with the most stringent bandwidth restrictions. No problem for use in banners, widgets, thumbnails… anything where filesize is a priority. But the biggest single feature offered by the new engine is it’s speed. Current tests clock framerates up to 4 times faster than the standard Away3D library. And with more frames-per-second comes the potential for more polygons, more accessible content on slower machines, and more processing power left for other areas of a Flash application.
Away3D Lite is not meant as a replacement for the standard Away3D libraries. Because of it’s use of the native 3D features in the Flash 10 Player, Away3D Lite is Flash 10 only, so the development of Away3D 2.5 & 3.5 will continue as usual. These engines are more of a workhorse for many different purposes and with many different features, while Away3D Lite offers the choice to be fast and small at the sacrifice of features. This is not to say that you can’t do anything with Away3D Lite! The list of main supported features in 1.0 includes:
3DS, MD2, Collada & Metasequoia loaders
Bones animation
Viewport clipping
3d mouse events
All standard primitive types
All standard camera types
All standard material types
Template classes for quick and easy setup
Plus, you will already know how to use Away3D Lite if you’ve used Away3D! Everything is where you’d expect, and there have only been very minor changes made to some property names, which in time will most likely percolate back through the various engines.
The following demos are all available as source files from the Away3DLite examples folder in the svn, or on the downloads page, in both flex/fdt/flashdevelop and cs4 formats.
There is also a complete set of documentation files available from a new livedocs folder here.
Finally, this release has been thoroughly checked for bugs and errors, but as always, we cannot perform miracles! If you do happen to stumble across something that shouldn’t be, please let us know so that we can fix the problem. Make sure you JOIN OUR GROUP for updates!
The Away3d 2.4 & 3.4 update has been released, with a completely revamped examples section, for both Flash 9 (2.4) & Flash 10 (3.4) versions. To grab your copy, head over to the svn or go straight to the downloads section for a zip of sources and examples.
many new features have been added to this release, including:
Vector graphics and fonts support.
Typed-checked loader support.
Geometry modifiers for exploding, welding, mirroring…
Depth material for creating depth masks.
Normalmap and Bumpmap generators from geometry.
Light pre-baking on textures.
plus the usual stability improvements and a ton of bugfixes. Documentation will soon be updated at away3d.com/livedocs
Special thanx must go to Guojian Wu of wu-media.com for his excellent new as3 library swfvector, which allows you to convert any shape outline or textfield in a swf into as3 data. This is used to great effect in the new release, easily enabling the drawing of textfields and shapes in 3d.
The examples interspersing this post can be accessed by clicking on their images – each comes with it’s own source which can be downloaded by selecting “View Source” in the right-click menu. Or you can download these and a ton of other examples (both .as files and .fla files) by going to away3d.com/downloads. The Basic_Swf example also uses the excellent as3dmod library (which you can download from here) for producing the bend effect. Now you can twist and deform vector graphics in 3d, thanx to as3dmod, swfvector and Away3d 2.4 / 3.4 :D
Away3D has always been about practical features and easy implementation. The 2.3 release takes this to new levels, adding variations on this theme in nearly all areas of the engine, from core functionality to workflow tools to geometry generators to shading tools, as well as now offering two fully supported versions, one for Flash 9 and the other for Flash 10.
One of the key core features added in this release is full support for frustum and nearfield culling, as well as object culling for standard clipping which can help with rendering speed for large outdoor scenes. The above demo illustrates how this can also be beneficial for interior scenes where regular rectangle culling causes artifacts – use the mouse and cursor keys to navigate the room and the keyboard shortcuts listed in the demo to compare between old and new clipping techniques. The source for this can be found bundled with the demos download from the downloads page as can the source for the 2.3 version, or directly from the svn.
Normalmaps have been available in Away3D for a while now, but version 2.3 adds a new set of tools that can help you with their generation and/or manipulation. This will become even more useful in upcoming enhancements to the Flash 10 version of Away3D. The above demo shows what can be done with the new system, full details of how this was accomplished and more examples can be seen by going here and here.
BezierPatch is a new geometry generation tool that allows you to create bezier surfaces programatically. The above demo shows an example of where this can lead – with possibly the most famous bezier surface ever produced ;)
Full documentation for using this system will be released soon, along with a visual tool for aiding the generation of bezier surfaces by hand.
Awaybuilder is a productivity tool that allows you to set up scenes created in the 3D modelling software as realtime 3D scenes for the web. You can set up your project with objects, materials, cameras and their properties, then play it back online without the need for extensive programming or recompilation.
Awaybuilder comes with a custom parser for Maya scenes saved as Collada files. For Maya users, this can dramatically speed up your 3D workflow, as it allows you control geometry, materials, and even camera viewports and interaction directly from the 3D application. The above scene was created in Awaybuilder using the Maya plugin, and is available for download as a demo in the 2.3 release. You can click on the cards to navigate in or out of the scene. More plugins for other software packages will follow in future releases.
Some other feature highlights in this release include:
Interchangeable camera lenses to allow for different types of projection
All values allowed for stage properties “align” and “scaleMode”
Improved memory management
Improved extrusion tools
ROLL_OVER/ROLL_OUT events added to MouseEvent3D
Billboard mesh objects for fast 2d sprites
Of course, we will be working to provide some assistance in learning these new features in our tutorials section over the coming weeks. Plus there will be a lot more demo source coming soon in the demos download. keep an eye on our mailing list for updates, including where to find the flash 10 upgrade, which should be released in the next few days. In the meantime, enjoy the new release!
Filed under: Demos, Engine — Rob Bateman @ 7:59 pm
Inspired by the fantastic new Audi VDT site produced by ArtificialDuck using Away3d, I decided to go on a little exploratory tour of the current Away3d codebase to see what could be done about fast(er) rendered 3d particles.
My results use a new set of classes soon to be uploaded to the trunk in the 2.2.6 dot release of Away3d – basically with this update it will be possible to create single 3d objects containing many particles, greatly reducing the number of matrix calculations required for rendering a collection of particle objects (or billboards as they’re more commonly known).
The above test is a bit of an extreme case so may run slow on older machines – 4096 stars are being rendered independently per frame, with a bit of mouse-influenced movement nicked from the Audi site ;) The classes have yet to be properly optimised, but I hope to be able to provide full source soon along with an update to the Away3d trunk once things are complete. In the meantime the demo had a bit of a festive look to it so seemed fitting to release over the winter break. Hope you like and merry christmas!
*****Update*****
Source is now available for the demo above via the usual right-click menu or this direct link. You will require the latest trunk version of Away3d from the svn, version 2.2.6. On a side note, the default demo now renders 1024 stars to get a smoother framerate. With this number of billboards, things fly!
At the risk of starting something of a tradition, it’s time once again to take you for a little ride. RailAway Express is a ticket for a unique travel into the realm of Away3D 2.2 and it’s new runtime model generation and animation features. Its probably our last Flash 9 demo too.
Almost everything you see along your journey in this 780 kb all in demo is code generated.
A special thanks goes to Andre Michelle and Joa Ebert for their help on the sound dynamics.
Our new release may bring out the explorer in you, with features allowing a lot more expansive 3d possibilities. Here we present an atmospheric oddessey taking the reliable formula of a crash-landed spaceship and an alien world… Green Planet.
Now you can realize your 3D world like never before in Flash.
Handling the rendering of over 13000 polygons, 16 animated and interactive models with surface tracking, and a cool soundtrack composed by Atom(bang), this is a demo unlike anything else… so turn up your speakers and enjoy a new kind of ride into the realm of Away3D 2.0!
We’ve now completed the main part of the refactoring work on rendering pipeline for upcoming Away3d 1.9.5. Now user has possiblity to render either to a sprite (SpriteView3D) or select the BitmapView3D which renders to a Bitmap. This can then be used as a normal DisplayObject or you can request a direct access to the rendered output for post processing etc.
Jalava, our new team member, quickly whipped together some post processing effects from using evoengine from Evoflash and slapped it together with Away3d.
As you can see, it is pretty easy to add different post processing effects on the away3d engine when you can get everything rendered to a bitmap.
In here we are doing about 20 fullscreen bitmapData#draw calls to render postprocessing plus we are rendering about 1200 polygons fully textured with precision bitmap material.
If your looking for somewhere to relax (and I know we are!) after a hard day coding with Away3d, then why not try the latest online virtual-zen environment: The Away3d Temple
The beautiful ambient music is composed by Atom(bang)
This demo weights only 204 kb with fully code generated meshes, and combines Flash’s power to reuse, alter, and mix sources with the latest Away3d tools.
We are busy building tutorials and the source of this demo will be available soon across a series of posts in a new section of the away3d site.
Many of the new features in the latest Away3d version are present in this demo, which is part of the reason it will be used as an extended tutorial. A full feature update will be announced on our mailing list, but the highlight additions include:
new AnimatedBitmapMaterial for processor-saving animations
new extrusions classes for creating many different shapes on the fly
new BitmapFileMaterial for automatic loading of a material
added autoloading textures functionality in collada and 3ds importers
new extended 3ds importer
added 2d rotation on Sprite2d and Sprite2DDir
new importer for google sketchup (kmz) files
improved md2 importer
added md2 animated to as3 exporter
The 1.9.4 source has been tagged and can be downloaded from the svn repository, or as a zip file from the Away3d downloads section.
If you would like to follow the progress of future Away3d updates, please feel free to join our mailing list
Filed under: Demos, Engine — Fabrice Closier @ 11:10 am
After straight segments extrusion it was time to play with the rounded stuff.
This Lathe class allows you to rotate 2 or more 3D points arround the axis of your choice or using an offset if needed, you can add more rotations in order to generate springs, phonecords or screws… and like the segment extrude class it supports multiple textures and you can add thickness to the geometry as well. Very handy to show some exploded views of parts, educational stuff… or some melons!
This little technical demo shows the most common use of the class. Press on the model to change the points randomly.
For this one: Lathe+tweek properties+md2 generator = 30 sec work!
If you wonder why there are no forks or spoons in the situation demo, that’s because I wanted to use exclusively the Lathe class to build it!
All the objects you see here are just generated with one line of code and an array of Number3D’s.
Of course, the idea is to use other forms, models, primitives but…. I just couldn’t resist!
More extrudes classes are coming…
PS: Jerome, it was too late to couple it with WoW, will try it in next one!
Note: For some weird reasons, these demo’s will play only with the latest player installed on your machine. (9,0,115,0). As soon as I’ve figured out why, I’ll update them.