Away3d workshop slides

Preview:

DESCRIPTION

Slides from my gotoAndSki workshop (http://www.gotoandski.com)

Citation preview

Workshop gotoAndSki(1);

Wednesday, June 16, 2010

Intro

3D in the Flash Player

Wednesday, June 16, 2010

Flash 3(D) faking it

Wednesday, June 16, 2010

Sandy 3D (2005)

Wednesday, June 16, 2010

Papervision3D (2006)

Wednesday, June 16, 2010

Away3D (2007)

Wednesday, June 16, 2010

Why and why not make your own?

Wednesday, June 16, 2010

Engine comparisons

Why it’s difficult to compare

Wednesday, June 16, 2010

3D Engine Features

Sandy Papervision3D Away3D

Camera types

Material types

Shaders

Primitives

Advanced modeling

3D vectors

Import

Export

Unique features

Documentation

Engine pet

2 4 4

5 26 22

color, texture, phong, goraud, cel, outline color, texture, phong, goraud, cel, outline, bump

color, texture, phong, outline, flat, enviro, bump, normal map, fresnel, glass, lambert

11 7 29

Extrusions - Extrusions, Lathe, Explode, Weld, Mirror, Replicate, Merge, Bezier patch

- ✓ ✓

3DS, ASE, Collada, MD2 3DS, ASE, Collada, DAE, KMZ, MD2, Sketchup, SketchupCollada

3DS, ASE, Collada, Kmz, MD2, MD2Still, obj

- Collada Obj, AS3 class, elevation

Starfield, Actionscript 2 version Particles, ASCollada, bitmap effects Camera lenses, Blockers, NURBS,Triangle caching, facelink, Awaybuilder

★★☆☆☆ ★☆☆☆☆ ★★★☆☆

Cat Cow Turtle

Wednesday, June 16, 2010

Why Away3D?

• Constant development

• Solid base API

• Open Source

• Solid and supportive team

• Ease of use

• Documentation

• Technical features

Wednesday, June 16, 2010

Flash 3D limitations and how to live with them

Wednesday, June 16, 2010

Flash 3D competition X3D, Unity3D and O3D (WebGL)

Wednesday, June 16, 2010

Flash 3D limitations and how to love them

Wednesday, June 16, 2010

Flash has something important...

... that the others can only dream of!

Wednesday, June 16, 2010

Flash 3D strengths the upside

•98% install base

•Simple install for remaining 2%

•One player - endless options

•This is only the second generation...

Wednesday, June 16, 2010

Away3D flavors

Away3DAway3D Lite

Wednesday, June 16, 2010

Setting up for Away3D

http://away3d.com/downloads/http://away3d.googlecode.com/svn/

Flash Pro, FlashDevelop, Flash Builder, IntelliJ IDEA, FDT?

Wednesday, June 16, 2010

Checklist

✓Have created a Workshop folder?

✓Have downloaded Away3D source files?

✓Have added Away3D files to Workshop folder?

✓Have created an empty class in Workshop folder?

✓Have created a new FLA and set the new class as Document Class(Flash users only)?

✓Have copied the workshop files?

Wednesday, June 16, 2010

5 lines to get started

var view:View3D = new View3D({x:250,y:200});

addChild(view);

var sphere:Sphere = new Sphere();

view.scene.addChild(sphere);

view.render();

Wednesday, June 16, 2010

Complete class

package{ import away3d.containers.View3D; import away3d.primitives.Sphere; import flash.display.Sprite; [SWF(width="500", height="400", frameRate="60", backgroundColor="#FFFFFF")] public class T01_class extends Sprite { public function T01_class() { // create a viewport var view:View3D = new View3D({x:250,y:200}); addChild(view); // create a sphere and put it on the 3D stage var sphere:Sphere = new Sphere(); view.scene.addChild(sphere); // render the view view.render(); } }}

Wednesday, June 16, 2010

The viewport

View3DClipping

Wednesday, June 16, 2010

The Scene

Scene3D

Wednesday, June 16, 2010

The Cameras

Camera3DTargetCamera3DHoverCamera3DSpringCam

Lenses

Wednesday, June 16, 2010

Rendering

view.render()

Renderer.BASICRenderer.CORRECT_Z_ORDERRenderer.INTERSECTING_OBJECTS

Wednesday, June 16, 2010

Use your hand to think...Working in 3D

Wednesday, June 16, 2010

3D building blocks

VerticesFacesUV coordinates

Wednesday, June 16, 2010

Primitives

29 totalSome more useful than other

Wednesday, June 16, 2010

Primitives

PositioningMesh resolutionInverting facesBothsidedOwnCanvas

Wednesday, June 16, 2010

Tweening in 3D

Just as in 2D, just add the Z

Wednesday, June 16, 2010

ObjectContainer3D

For nesting objects

Wednesday, June 16, 2010

Pre-made models

SoftwareFormatsLoadingDebug tools

Wednesday, June 16, 2010

Light

Limits apply!

Wednesday, June 16, 2010

Materials

Color materialsBitmap materialsComposite materialsPixelBender shaders

Wednesday, June 16, 2010

Making models

from scratch

Wednesday, June 16, 2010

Planning

for expandability

Wednesday, June 16, 2010

UV Coordinates How mapping works

Wednesday, June 16, 2010

User Interaction

MouseKeyboard

Wednesday, June 16, 2010

Workshop exampleshttp://www.flashgamer.com/workshop/gotoAndSki/

Cooliris.as - (original plugin example)

Wednesday, June 16, 2010

Away3D resources

Away3D documentationhttp://away3d.com/livedocs/

Developers grouphttp://groups.google.com/group/away3d-dev

Away3Dhttp://away3d.com/

Flashmagazine tutorialshttp://www.flashmagazine.com/Tutorials/category/away3d/

Tartiflop tutorialshttp://blog.tartiflop.com/first-steps-in-away3d/

Advanced modeling tutorialshttp://blog.closier.nl/

Advanced texthttp://www.lidev.com.ar/?cat=3

Wednesday, June 16, 2010