3D in Flash; How It’ll Happen

A few times over the past year, the subject of 3D in Flash has arisen on various Director lists I read (including back in August on dir3d-l). The idea is often met with some cynicism about its possibility. Why? I’m not sure, because while I have no knowledge about how 3D would get introduced into Flash, I can tell you exactly how to do it. And the method mirrors the Shockwave 3D implementation in Director.

The first thing to remember is how SW3D media is incorporated into Director. A SW3D cast member is a little self-contained world containing all of the texture definitions, model resources, models, animations, etc. displayed in the rectangular sprite “window” on the 3D world. Everything that appears within the 3D world is part of an exported scene or content created through the use of scripting. All user interaction with the scene is the result of scripting. The 3D sprite is usually displayed direct-to-stage due to speed issues, but it may be displayed with a transparent background at the risk of reduced refresh rates. That’s what we have in Director now, and pretty much what we’ve had since the release of SW3D in early 2001.

So say that a new version of the Flash engine is introduced with a 3D object model and renderer. It’s implemented in much the same way that SW3D members are, as a separate object structure that has no direct correlation to the Timeline/MovieClip model of Flash development. Flash 3D (F3D) model and animation data can be exported from a variety of modeling apps and imported or loaded into Flash movies at both authoring and run-time, just like SW3D.

An animated F3D scene would have the ability to display in a rectangular window, with an alpha channel mask, or behind other Flash elements, just as Flash video is now displayed.

The rendering engine would be based on 2006 standards and capabilities, which are several generations beyond the SW3D/late ’90s technology.

F3D objects would play canned animations exported from modelers or made interactive using ActionScript commands, just as interactivity is added to SW3D scenes with Lingo.

That seems pretty doable to me. The bitmap manipulation in Flash benefited from Werner Sharp’s experience with Imaging Lingo and a few years of experience. There’s no reason a Flash 3D implementation couldn’t take advantage of not only the experience of Shockwave 3D but also the numerous general advances in 3D development since SW3D’s release in 2001.

There’s nothing stopping Flash from using the very same model for 3D support that Director did. It’s simply a matter of whether they decide to add the heft to the virtual machine. If they don’t show something like this at MAX this week, I’d lay strong odds that it’ll be there next year.

For anyone who’s already read the “We Band of Director Brothers” post from yesterday, I’ve posted an audio version of the speech, just for laughs.

MP3 audio of “We Band of Director Programmers”

Anyone at MAX? Have a great show!