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.
Some of the new features in 2.2 include:
Full update details have been posted on the AWAY3D mailing list. You can get the source files by accessing our svn repository or going to our downloads page.
Documentation will be updated within the next few days
So turn up your speakers and enjoy a wild ride into the realm of Away3D 2.2!
The Away3D Team.
As more and more people discover the potential of 3d in Flash, the versatility of the Away3D framework is beginning to show. Agencies and individuals alike are using it as their engine of choice, and producing some very cool content as illustrated by the following selection of projects!
Discovery Channel uses Away3D on a Flash Video Game “Solar Symphony”, where you interact with the Planets and sounds.
Away3D can be seen in use on the Square Enix (of Final Fantasy fame) members website. Now you can choose your avatar when you login in, and modify it realtime in 3D.
The Strangers Movie site uses a good dose of Away3D and video materials. Try the experience, it’s pretty spooky!
Cadbury’s “A Glass and a Half Full” website uses Away3D and 3D video renderings to drop you into a surreal world. A great concept for a 3D website, and the experience is pretty realistic!
As well as this, you can do some cool Truck modding in the Tricked Out Trucks section.
While we are on the subject of trucks, check out the revamped Brahmamobile.
A fantastic Away3D upgrade!
We’d like to thank Flashkit for the mention last month of the new Away3D 2.0 release on their homepage, and flashmagazine for running a great tutorial on their site for getting started with Away3D code. And of course, all of the people involved in the projects above for creating such cool showcase material!
The Away3D Team
AWAY3D 2.0 IS HERE!
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.
Some of the new features in 2.0 include:
Full update details have been posted on the AWAY3D mailing list. You can get the source files by accessing our svn repository or going to our downloads page
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!
The Away3D Team.
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.
Here is the result.Bitmap Rendering Demo
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.
the Away3d Team
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:
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
Hope you enjoy!
the Away3d Team
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.
In order to build a complex scenery and keep it low poly, you need to have good 3D skills and a good modeller. For many that’s just too much to ask. As a result, I read threads everyday, on lists and forums, on how to load those elephant xml files…
I think it’s just bad practice to build whole scenes that way, specially when it comes to Flash.
And here comes the problem:
What else?
Personally I think that’s one the biggest challenges, offering tools that helps to reduce loading problems and offer more flexibility to the way we work.
So here’s my first contribution in that direction, this demo shows one of the classes I’m working on.
The class allows you to create extrudes from points, like a fence around a house, walls, a city block, charts elevation, some surrounding forest, sky trips or … a maze! You can define elevation on 3 axis, thickness, add one or more materials per segments, be able to generate one mesh from one or more point definitions, subdivisions per segments so you can control the polygon count, be able to decide if texture(s) covers whole geometry or per segments, you can hide some sides…
Last but not least, this option costed me almost a total rewrite of the class: it respects the thickness no matter the angle of the next segment.
Here is a 2d representation of the algorithm.


Of course one class is not enough… so more are coming!
Gosh,
I never knew coding can be fun! Of course I am interested in making games, so I needed some smoke and particles. I made my last demo ALOT better, but because I spent like 1 week staring at it (yes time wasted), instead of coding- just staring! I have concluded that making games in Away3d is not only fun, but addictive
So here is a better example of Depth of Field, Filters, Blendmode (the smoke), a Constant Emitter (the smoke), and even some cool TIME-STOP feature so you get to catch all that goodness, and get to see the correct Z sorting between the particles. Ok now that I can breathe after that last sentence- click away! and have fun
Please leave a comment, I will appreciate it!
Gosh,
I never knew coding can be fun! Of course I am interested in making games, so I needed some smoke and particles. I made my last demo ALOT better, but because I spent like 1 week staring at it (yes time wasted), instead of coding- just staring! I have concluded that making games in Away3d is not only fun, but addictive
So here is a better example of Depth of Field, Filters, Blendmode (the smoke), a Constant Emitter (the smoke), and even some cool TIME-STOP feature so you get to catch all that goodness, and get to see the correct Z sorting between the particles. Ok now that I can breathe after that last sentence- click away! and have fun
Please leave a comment, I will appreciate it!
In order to animate in Flash3D you need to use pretty advanced 3D tools to generate and export animation data. For many it's just a bridge too far.
And even for the professionals, it often cost too much development time. And because of this, many choose not to animate at all. I think that's a shame.
During the last weeks I've worked on many new features for Away's native animation system, and together with other team mates have spend lots of time looking at ways to ensure easyness of use for the pro user as for the starter.
I've tried here to build in a few of those handy features in this demo:
- Path animation system. Both the camera are on a path in this case.
- The animated hummingbird is animated automatically by Away's animation system, (as you will see bellow with the cube example, it's very easy to accomplish the same thing natively now).
- Target following: The camera follows the bird according to its position.
- AlignToPath: Both camera is automatically oriented as it moves on the path.
- And of course the tiling feature in action.
Note that this demo is not using Away's 1.9 but my good old workhorse dev version of the engine, so expect about 30-35% more speed with the 1.9.x and higher! Why? Simply because we haven't ported the tiling in the latest version yet!
And of course i want to thank Peter Kapelyan for the HB model, Meowza for the bird texture and not to forget the beautifull music done by Atom(bang)
Here a little demo that shows how the bird is being animated. In this case i use cubes, just to show you how easy this is. Just click the cube to see it.

private function makeBoxeAnimation():void
{
var mat:IMaterial = new BitmapMaterial(myBitmadata, {});
var cube = new Cube({width:350, height:350, depth:350});
var cube2 = new Cube({width:500, height:50, depth:250});
var cube3 = new Cube({width:150, height:450, depth:50});
var cube4 = new Cube({width:650, height:250, depth:550});
_anim = new Animator(cube, [{vertices:cube2.vertices, prefix:"cube01"},
{vertices:cube3.vertices, prefix:"cube02"},
{vertices:cube4.vertices, prefix:"cube03"},
{vertices:cube2.vertices, prefix:"cube04"}] ,
{material:mat, y:0, x:0,z:0,bothsides:false});
this.scene.addChild(_anim);
_anim.play({prefix:"cube", smooth:true, loop:true, fps:.5});
//let the fun begin
stage.addEventListener(Event.ENTER_FRAME, this.refreshScreen);
}
private function refreshScreen(event:Event):void
{
_anim.rotationX += .5;
_anim.rotationY += 1.5;
_anim.rotationZ += .5;
this.view.scene.updateTime();
this.view.render();
}
Fabrice
Gosh,
I never knew coding can be fun! Of course I am interested in making games, so I needed some smoke and particles. I made my last demo ALOT better, but because I spent like 1 week staring at it (yes time wasted), instead of coding- just staring! I have concluded that making games in Away3d is not only fun, but addictive
So here is a better example of Depth of Field, Filters, Blendmode (the smoke), a Constant Emitter (the smoke), and even some cool TIME-STOP feature so you get to catch all that goodness, and get to see the correct Z sorting between the particles. Ok now that I can breathe after that last sentence- click away! and have fun
Please leave a comment, I will appreciate it!
This shows Away3D version 1.9 in action with REALTIME filters (blurring) on each object.
Make sure you get the latest version, which has the ownCanvas property.
This feature is pretty awesome, so check out what I made!
Click to make an explosion!
BlendMode Version!
One of the things I was missing the most in the API was the ability to tile the textures. This allows you to repeat an image on a model with no overlaps and no gaps. The best illusion can be of course achieved by using a seamless image.
Sea surface, deserts, endless roads etc... As you will discover in this demo, it looks like infinite planes are coming to Flash.
Making a material with tiling properties is pretty easy too:
var mat:IMaterial = new BitmapMaterial(myBitmapdata,{ repeatH:2, repeatW:2});
I'm already curious to see what will be done with this new feature!
Fabrice
Broken link, file corrupted etc... we all have experienced those things...
In Away3D there is a native export to AS3, you can export any model loaded in your project to the AS3 format: .as. This allows you to compile the final version of your work in Flash without using the original model(s). Not only making the loading procedures easier, it also provides a better way to protect the 3D models from being reused once published.
Away3D supports MD2 natively too, and it was already possible to export MD2 like any other supported formats, but not yet possible to export the animation data to AS3. Until now !
The little demo shown here displays an .obj file (the flowers) and an animated MD2 model (the Hummingbird) converted to an AS3 class. The original models were needed just to set up the scale into scenery, then both files were exported as .as files and compiled with the rest of the code. This gives us a nice extra for free: colored declarations in our code eg. new Flower() or new Bird();. The concept "beauty of code" takes a new dimension! Soon some Flash code poetry contests?
I've also extended the export option to a fixed decimal count. If you take a look at 3D data, especially when the original model is being rescaled on screen, you often get numbers with more than 10 decimals for all vertex definitions... so one little boolean set allows you to save more than 50% of the .as class filesize (this was the case on the models displayed here). Depending of course on the amount of polygons, the more polygons, the more the 'compression' becomes obvious. At max fixed 4 decimals I couldn't find any problems on renderings. If a particular case generates an ugly artifact, just don't set the boolean!
Shown in this demo too, the latest version of the enviroMaterial code. Even smoother!
This exporter will be release in Away3D 2.0.
Fabrice
While working on the next demo for the new improved PhongMaterial, i wanted to add some animated texture on a model... but the MovieMaterial was just eating my cpu resources! So I've reused a concept I had in my bitmapdata engine.
I think that the animators among us will love this one: the new Away3d AnimatedBitmap class...
it's using no expensive draw(), no expensive copyPixels(), and it renders at the speed of regular texture like the BitmapMaterial!
It supports also loops, and will support much more play options since it seams to be fast, but right now i've more than enough to play with, so I will first finish that PhongShading demo!
People are starting to use Away3d for their projects! Paul Spitzer wrote a path finding demo for Flash in 3d:
![]()
http://www.actionscriptarchitect.com/lab/AStar3D2/
Shirotokoro has written a new AS3 Geom Class Exporter for 3ds Max to PV3D, Sandy and Away3D:
![]()
http://seraf.mediabox.fr/showcase/as3-geom-class-exporter-for-3ds-max-english/
and I, for one, welcome our yellow billed overlord (read the page to find out :)...
It's great that people are finding Away3d useful! We're continuing to work hard on adding new features!
Click the image or here to play Away3D basketball!
Just like my previous post of materials "ala" Pete, well here are physics "ala" Pete.
I decided to HACK some code together to get the effect I want (basically), and although I know the math may be flawed, it is something that I can use A LOT. It is a "custom" engine that works with both away3d and papervision3d.
This demo is just a preview of what I would like to share, but I want correct the math before I release it.
_pete
It's been a while since my last post on materials. I thought it might be good to let see we are VERY busy right now with Away3D.
One of the latest feature, like this demo shows, is the normal mapping. Now natively implemented in the engine.
Any mesh using this new Material will reflect the environement or a given reflection map.
This is the first of this kind of materials and i have already a few more in the making.
How would you find being able to add phong shading coming from a given light source to your model?
Check this blog to see soon more of that shiny stuff!
Away3D rocks people!
k, Back to code now... too much fun!
Fabrice
PS: Rob is actually busy merging our codes for the next release.
PS2: Right click on model, open the Flashplayer menu, and select Away stats if you want some fps details...
Update
Made some tests last nite.
Code seams stabile and perform pretty well no matter model geometry being loaded...
Tried a 4206 faces overkill head model. FPS dropped down to 2fps and on init of the mesh the head.obj needed arround 2 seconds to intialize due to enormous amount of precalculations. The hummingbird model however with a respectable 974 faces count was running at a steady 25 fps very smootly.
I will try to improve the code on this...
I've turned 40 this weekend, so i thought it would be nice to celebrate...
First idea was: i do a cake! Nah... doesn't shine...
Since Away3D is now able to create anything looking expensive like gold or silver, i thought, what's the most expensive material on earth? Diamonds of course!
Everyone who has played with transparent objects knows you need alpha info, and then... well here it comes, what comes next? You need something to move light! So most go for double geometry, above each other. Did that too, but then you get a z-sorting artifact, all faces are swapping on and off. Useless.
So i've updated the enviroMaterial again to render faces another way...
Enjoy the Away3D diamond! The right amount of shinyness and face count!
Fabrice
I just couldn't accept having phong shading only facing you, this would simply be useless in most cases and you would probably choose to have textures with 'pre-baked' shading in order to get light coming from another direction just to better translate the scenery you want to build.
The model displayed in this demo has around 650 faces, all being runtime shaded by the code.
The code generates random color, camera position and light position. So some camera angles might look pretty weird but I think it adds some pretty cool drama on screen!
Keep in mind that sometimes the light will quickly turn when it is very near the target center of the model...it's because the light is being calculated at object level, just to save thousands of calculations per sec.
Fabrice
After days working on the code, it's finally there. A smooth shiny reflecting surface!
I let you judge of the quality and the performance... i'am very happy with this result, that's all i can say!
To get there and be able to make this demo, i got help from my friends Rob Bateman and Peter Kapelyan. Without them, i could have spend days on the code trying to find the bug i was looking for. And it was a nasty one... Peter shown us the way with his sharp eye and Rob killed the beast!
I'm very proud of the Away3D team, thank you guys, real teamwork!
Fabrice