Blender to .as3 Exporter for Papervision 3D, Away3D and Sandy3D Updated

If you are exporting from blender to actionscript directly so you can get your models into flash as script you can use the Blender to .as3 exporter which so kindly supports all flash 3d engines currently Away3D, Papervision3D and Sandy3D.  Dennis Ippel made the Blender exporter a while back but the update supports papervision 2.0.

The benefits of COLLADA are nice but there are so many differences that you can run into trouble.  With the exporter it is a direct faces and vector export without all the bloat of DAE/COLLADA xml.  This works if you are only developing for flash and dont’ need to use the models in other platforms/systems/engines that aren’t in flash.

AS3 Zupko’s Reflections and Shadows with Raycasting in Papervision 3D

The Zupko show continues with reflections in Papervision 3D [demo].

Be sure to check out the shadow demo that this is based on:

After posting my shadow experiment, Patrick Matte posed a question wondering if I would be able to do real-time reflections in a similar manner. The next day I had it done, along with some nice iterations along the way: orthographic and perspective projection (I can release those later if anyone really wants them). I’ve been sitting on it every since and finally decided I would take the time to write a little description into how its done and give the code to those who are interested (and I fixed up some code for backface culling in the reflection this morning).

More Creative Flash AS3 Papervision 3D Games

Here are some really stylish and well done uses of Papervision 3D to make fun games. The people at Bloc recently launched Meta4orce, a unique interactive sci-fi TV show site with some great and numerous uses of papervision 3d.  My favorite is the tron like style and the tower defense game called shock to the system.

Shock to the system

Mako User Interface

Deadsphere Pt. I

and many more check them out at Iain Lobb.

Hardware of the Casual Gamer

Making great games, applications and tools using flash, silverlight or other tools that are emerging such as Unity3D takes great style, effort and knowing your target. We need to know what the end-user machine has at hand.  The Unity 3d guys put together a great post on the capabilities of casual gaming machines. With all the talk about flash 3d, unity3d and silverlight what level are you targeting and what group of people can actually PLAY your games as you envision.

Pretty much everyone knows Valve’s hardware survey – it’s a very valuable resource that shows what hardware the typical “hardcore PC gamer” has (that is, gamers that play Valve’s games).

However, the “casual gamer”, which is what Unity games are mostly targeted at, probably has slightly different hardware. “Slightly” being a very relative term of course.

Lo and behold – we have a glimpse into that data.

How? First time the Unity Web Player is installed, it submits anonymous hardware details (details in the EULA). This happens only once, and contains no personally identifiable information. It’s much like visitor statistics trackers on the websites that gather your OS, browser information and whatnot.

Remember, all this data is from people who installed Unity Web Player (most likely because they wanted to play some Unity content on the web). Hardware of standalone game players might be different, and hardware of your game’s players might be different as well. The data set is well over a million samples at the moment.

Check out the full stats here.

The most interesting stats to me:

OS Platforms

Windows 96.8%

Mac OS X 3.2%

CPU Core count overall

1 54.7%

2 44.1%

4 1.1%

8 .1%

Wow this one is surprising, but with the type of gamer that will play and download a quality new plugin to get to a game, maybe not.  They need to have the latest and greatest.  Multi-core processors have been selling for about 2-3 years so this is a continuing trend that will make Flash 3d and even plugins like Unity 3d better over the short term.

Also when you check it over at Unity Blog note the top cards, it is a bit painful if you are a casual gamer developer.  Not a decent card in the top 10-15. But that is changing rapidly over the next 1-2 years in this regard. But this also vyes well for flash based games that rely on dual core software rendered results right now as a decent constraint for developers to keep content painfully accessible to all states of machinery out there.

I wonder if this information is available on the flash player and public? This is specific to the Unity 3D plugin that is also a bit of a different market that is willing to install a plugin for better experiences.  With Flash it is usually preinstalled or auto updated for a casual user and might be different as Flash has a 98% penetration rate.  Or for that matter the Director users which would be more gaming focused which amout ot about 40% of internet users.  But as with the case of Unity it is specific to games right now and a small penetration rate, Flash is also apps, ads, tools, demos, interactives in addition to games.  Having this information on Flash or Director would be nice.

AS3 3D Physics, Cloth and Bones Demos by Roxik

Roxik has a 3d physics engine of his own. This is the same dude that did the well done pictaps site.

Looks like he also recently added an engine for cloth.

Also the bones demo is pretty sweet

Papervision 3D 2.0 Breaking Changes on Object yaw, roll, pitch

UPDATE: See comments and papervision list for revert of this change.  You can now use localRotationX, localrotationY and localRotation Z instead.  yaw(), pitch() and roll() are back by popular demand.

Hi List,

Sorry for this confusion, but we decided to revert back to pitch(
angle ), yaw( angle ) and roll( angle ) methods.

There are three new getter / setters now though:

do3d.localRotationX
do3d.localRotationY
do3d.localRotationZ

So:

pitch( 30 ) would be the same as doing localRotationX = 30;

Note that  localRotationX / Y /Z are rotations relative to the
rotation as set by rotationX / Y / Z.
Also note that after do3d.lookAt() localRotationX/Y/Z will be resetted to 0

Tim

ORIGINAL POST:

Papervision 3D 2.0 Alpha has been undergoing lots of changes and one you might want to know about is the object yaw, pitch and roll change.  Thisis changing on how you access them but only slightly.  This is good because you an read and write the values on the object not just set them. Per the papervision list from the man Tim Knip:

On many users request:

DisplayObject3D‘s methods pitch(), yaw() and roll() are now getters / setters.

Usage:

do3d.yaw = degrees;
do3d.pitch = degrees;
do3d.roll = degrees;

var myYaw : Number = do3d.yaw;

This means these values are now ‘absolute’ values instead of previous
‘relative’ values as in deprecated do3d.yaw( 1 );

Let me know any issues (as I’m sure there are…)

Tim

This only affects the latest and greatest revisions of papervision but is definitely a good change.  It is good to make changes that make more sense without worrying about breaking changes.

Google Tech Talk: Simple interactive 3D modeling for all – VideoTrace

3D models from basic video… This can be huge in all sorts of ways.  For exponential growth you need to go virtual.

  • This is a technology called VideoTrace from Australia
  • The Siggraph paper describing VideoTrace is available here (pdf 6MB)
  • Larger videos available here, with a more compressed version here.

AS3 Geocode with Flex, Papervision3D Tutorial and Other 3D in Flash Goodness

Ever wanted to geocode in 3d with flex and AS3Mark Walters added a great simplified approach to this on the EDGE Adobe site that helps get you started.  It uses Yahoo maps to get the lat/long and then has a globe that you can add markers onto.

Some other great uses of 3d and interface are here, link roundup:

AS3 3D Engine Alternativa Platform Officially Launches

The Alternativa Platform has officially launched. It is a 3d engine for Flash/AS3. It has been announced on their blog today and this is an exciting development for 3d in flash, especially if you are a game developer or game company.

They have offered it free for non-commercial use in the form of SWC files. It is well oganized and lots more good stuff to come it seems in the GUI and some information on setting up the gaming platform on the server as well. It looks to be a complete package.

This is not an open source release but the Alternativa Platform is an extremely well done and amazing looking engine. It has configurations for 3d and isometric 3d.

Here is a shot from the engine.

Sputnik has been launched!

Here are all the classes in the package (SWC):

All Classes

Alternativa3DLabel
Alternativa3DVersion
BitmapUtils
Box
Camera3D
CameraController
ColorUtils
Cone
Engine3DError
Face
FaceExistsError
FaceNeedMoreVerticesError
FaceNotFoundError
FillMaterial
FPS
GeoPlane
GeoSphere
InvalidIDError
KeyboardUtils
Loader3DS
Map
Material
MathUtils
Matrix3D
Mesh
MeshUtils
MouseUtils
Object3D
Object3DHierarchyError
Object3DNotFoundError
ObjectExistsError
ObjectNotFoundError
ObjectUtils
Plane
Point3D
Scene3D
Set
Sphere
Surface
SurfaceExistsError
SurfaceMaterial
SurfaceNotFoundError
Texture
TextureMaterial
TextureMaterialPrecision
TextUtils
Vertex
VertexExistsError
VertexNotFoundError
View
WireMaterial

AS3 Flash 3D Engine Alternativa Platform Drops A Nuke – Isometric and FPS

This will blow you away. Found first via mrdoob (with quantum rss reading capability, before the message is concieved mrdoob is there).

Alternativa Platform, previously Alternativa Game, launched their Alternativa Platform milestone 1 and really one demo would have been enough but there are some great demos there that literally put them what appears a couple laps up on the 3d FPS style engine in Flash.

The engine is highly optimized and smooth, heavy on the processor, but using the ‘t’ key you can see some nice revealing triangle rendering. Also, playing with the field of view adds for some nice game effects. (try jumping on the fans in the half-life like room in the first demo)

Check the textures

See the Matrix

Get superpowers

From Above, Isometric

Here is what is to come from the platform:

Congrats to the Russian based Alternativa Platform, the world is watching.

Photosynth in Flash (pseudo-3D photo browser)

Vladimir Slepnev, Moscow, Russia creates Photosynth in Flash called OpenPhotoVR.

It appears that the files are uploaded and attached manually. But it mimics Microsoft Photosynth pretty well. You have to give it time to load and prepare the views but it is probably under heavier traffic from reddit.

OpenPhotoVR.org is a pseudo-3D photo browser, a free analog to Microsoft Photosynth. Users create photo albums by uploading pictures and linking them together by hand.

AS3 Vector 3D Engine Five3D from Mathieu Badimon Released

Mathieu Badimon released the sweet Five3D vector 3d engine recently. Zeh noted this (and has some experiments) but this is a tracking and howto blog and I like to keep a timeline of influential releases.

You might have seen the Mathieu Badimon labs previously with the very nice scroll handle and technique and ability to rotate and translate the vector objects in 3d space. Now you too can make interfaces with the same cool library.

The one thing I like about this vector engine is well first of all it is vector and secondly it is pretty fast and not too processor intensive, but looks killer.

AS3 Flash 3D Engine SWFZ Source Code Goes Open Source

Jono is giving SWFZ to science and the open source devices.

The SWFZ engine is one Flash 3D engine that took a different approach. It is a bit early in its technique used but the author at custom:media Jono has decided to float the source code out there in ghost mode (no active development but not dead). It is just ready to branch and others to run with it. He is floating the source but I think in 1-2 years this will be the preferred method if processors and multicore parallel usage is optimized. We shall see.

The implementation method and difference with SWFZ engine in Flash for 3d is that is is a pixel based renderer or scanline. It is based on a really fun game engine called Irrlicht which has been pretty active for the last few years but is a C++ DirectX and OpenGL engine. Since SWFZ has to run in Flash and it is a pixel renderer/scanline it has some limitations currently in Flash. Games and renders have to be fast to pull this off and Flash is limited by the software renderer but as computers get multiple processors and flash player gets better at this then this will be a viable option (it is the same thing that limits Canvas based renderers right now). One main problem with this is you can’t go too full screen the biggest sizes that perform well are smaller windows 320×240 etc. But if the processors can handle it it is actually more efficient when it removes overlap, extra triangle drawing and painters algorithm like problems dont’ pop up (triangle overlap when on same plane). This method draws pixel by pixel but fast enough flash engines like Papervision, Sandy3D and Away3D draw overlaps due to the drawing technique, back to front.

But SWFZ still manages to pull off some amazing feats such as these demos

Quake Demo

Terrain Demo

Yoshis Hip Hop Couzin

Jono has put some great classes into SWFZ engine such as bsp parsers, quake md2 parsers, animated mesh, and lots of great examples in porting C++ Irrlicht to AS3. This was a very early example of how AS3 was fun for programmers to port stuff from C or C++ into Flash. AS3 is just fun. Also be sure to check the site for more samples like an FPS game, some basic ai etc.

Jono has been working on 3d in Flash for a while and actually this message is what shows the difference betweeen this approach and other flash engines the way Papervision, Sandy and Away3D (pv3d derivative) make 3d in flash fast enough (Painter’s Algorithm and drawing skewed movieclips and textures.

Demos

More about the Engine Some Notes

The SWFZ engine.

Overview:

SWFZ engine is the result of four years of me messing with 3D in Flash.

I was a complete newbie to 3D, so a lot of learning has happened to get to here.

If you’re interested in 3D engines check out the resource links at the bottom of the page:

The Demo:

Model

  • .md2 format from ID’s Quake2.
  • Uses frame based animation
  • Textured with jpeg
  • No lighting, No Gouraud Shading, just plain texture

Skybox

  • Textures are just jpegs.

Boxes

  • Rendering – Textured Gouraud , Textured Gouraud with Alpha, Textured Gouraud with Quick Alpha, Gouraud Shaded, and the large box is just Textured.
  • Star Texture – Targa (.tga) file format.

AS3 classes

  • 171 classes and interfaces

Scene

  • No lighting
  • No collision detection

SWFZ engine technology:

The demo only shows a small part of the capabilities of the engine. In the coming weeks I will get www.custommedia.co.nz up and running and start to post more info then.

Currently implement stuff:

New file formats supported

  • .tga – Targa Image
  • .bmp – Bitmap Image
  • .3ds – 3D Studio Max
  • .bsp – Quake3 levels
  • .md2 – Quake2 models
  • .obj – Wavefront 3d object (static)
  • .zip – Read from a zip archive (all in Flash, no server side scripts)

3D Rendering

  • mipmaps
  • perspective correct texturing + affine texturing
  • Flat shading
  • Gouraud
  • Textured Gouraud
  • Textured Flat
  • Textured Two Layers
  • Gouraud Alpha
  • Textured Flat Alpha
  • Textured Gouraud Alpha

3D Scene

  • Billboards
  • Parent, Child scene nodes
  • OctTree
  • Skybox
  • Static Meshes
  • Animated Meshes
  • Basic collision detection
  • Scene node animators

If any code is useful to you maybe drop him a donation or what would be nice if this was all setup at google code and used to be integrated into other engines. Irrlicht ports are fun and there is a future in this method when processors catch up I think.

3DS Parser Added To Papervision From Away3D

Good news, I meant to post this a few days ago last weekend Tim Knip added 3DS parsing support to Papervision3D. Here is the thread with the quick howto.

Thread in nabble

Added a simple 3DS parser to the Great White trunk.
=> org.papervision3d.objects

.parsers.Max3DS

…USAGE:


// where to find textures
var textureDir:String = "./images/";  // use a trailing slash!

// optional materialsList
var materials:MaterialsList = new MaterialsList();

// the 3DS file
var fileName:String = "[path-to-3ds-file]";

// load it!
_3ds.load(fileName, materials, textureDir);

// add to scene
scene.addChild(_3ds);

Also, one other golden nugget is Den Ivanov’s newest demo with Papervision portals! This is a very smooth demo, be sure to enter into the portals to see the seasons change.

Also here is a  non papervision 3ds parser.

AS3 Nascar Game By mr. doob – AS3 Flash Library Mashup

I have been one upped by mr. doob! I did a little nascar like RC pro am like prototype in march ’07 when the pv3d kit showed up on my screen and I was hooked like most suceptible flashers who have longed for 3d in flash! Only my version is like Nintendo64 and his is like xbox360 with updated effects and physics kits and some doob magic. All these are based off of, of course the original race car driver in Papervision and its creator Carlos Ulloa (Adobe should be paying this man).

To the feature! This is a sweet game by mr. doob, called burn and brag for Nascar.

Now I don’t’ particularly like Nascar all that much but who doesn’t like to peel out to some fiddlin’? I mainly do Nascar stuff because it is highly marketable and like the only answer most ad agencies have for getting the southern us markets it seems, that and c-o-u-n-t-r-y mu-si-c (must be said at a slower rate).

But I digress, this is a perfect mix of advertisment, game play, fun and experience. It is fast, simple, and playable. Exactly the simplicity and smoothness needed of gameplay and playback.  Great ad work but it also gives something fun to do and best of all it is built in AS3 flash with a plethora of libraries from the flash as3 community.

The game platform is emerging fantastically in the AS3 market. mrdoob used these kits to build this:

It would be cool to see a post on how he did the replays with tweener – I imagine just a series of points collected with car state (current position state) and then just play them back with a call back or time delay. You’d have to capture alot for smooth playback without laggy movements.  I am working on multiplayer games with this same issue for a current project.

Game on! The question is when will this be SOTD or SOTM at thefwa.com?