41
Workshop gotoAndSki(1); Wednesday, June 16, 2010

Away3d workshop slides

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Away3d workshop slides

Workshop gotoAndSki(1);

Wednesday, June 16, 2010

Page 2: Away3d workshop slides

Intro

3D in the Flash Player

Wednesday, June 16, 2010

Page 3: Away3d workshop slides

Flash 3(D) faking it

Wednesday, June 16, 2010

Page 4: Away3d workshop slides

Sandy 3D (2005)

Wednesday, June 16, 2010

Page 5: Away3d workshop slides

Papervision3D (2006)

Wednesday, June 16, 2010

Page 6: Away3d workshop slides

Away3D (2007)

Wednesday, June 16, 2010

Page 9: Away3d workshop slides

Why and why not make your own?

Wednesday, June 16, 2010

Page 10: Away3d workshop slides

Engine comparisons

Why it’s difficult to compare

Wednesday, June 16, 2010

Page 11: Away3d workshop slides

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

Page 12: Away3d workshop slides

Why Away3D?

• Constant development

• Solid base API

• Open Source

• Solid and supportive team

• Ease of use

• Documentation

• Technical features

Wednesday, June 16, 2010

Page 13: Away3d workshop slides

Flash 3D limitations and how to live with them

Wednesday, June 16, 2010

Page 14: Away3d workshop slides

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

Wednesday, June 16, 2010

Page 15: Away3d workshop slides

Flash 3D limitations and how to love them

Wednesday, June 16, 2010

Page 16: Away3d workshop slides

Flash has something important...

... that the others can only dream of!

Wednesday, June 16, 2010

Page 17: Away3d workshop slides

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

Page 18: Away3d workshop slides

Away3D flavors

Away3DAway3D Lite

Wednesday, June 16, 2010

Page 19: Away3d workshop slides

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

Page 20: Away3d workshop slides

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

Page 21: Away3d workshop slides

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

Page 22: Away3d workshop slides

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

Page 23: Away3d workshop slides

The viewport

View3DClipping

Wednesday, June 16, 2010

Page 24: Away3d workshop slides

The Scene

Scene3D

Wednesday, June 16, 2010

Page 25: Away3d workshop slides

The Cameras

Camera3DTargetCamera3DHoverCamera3DSpringCam

Lenses

Wednesday, June 16, 2010

Page 26: Away3d workshop slides

Rendering

view.render()

Renderer.BASICRenderer.CORRECT_Z_ORDERRenderer.INTERSECTING_OBJECTS

Wednesday, June 16, 2010

Page 27: Away3d workshop slides

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

Wednesday, June 16, 2010

Page 28: Away3d workshop slides

3D building blocks

VerticesFacesUV coordinates

Wednesday, June 16, 2010

Page 29: Away3d workshop slides

Primitives

29 totalSome more useful than other

Wednesday, June 16, 2010

Page 30: Away3d workshop slides

Primitives

PositioningMesh resolutionInverting facesBothsidedOwnCanvas

Wednesday, June 16, 2010

Page 31: Away3d workshop slides

Tweening in 3D

Just as in 2D, just add the Z

Wednesday, June 16, 2010

Page 32: Away3d workshop slides

ObjectContainer3D

For nesting objects

Wednesday, June 16, 2010

Page 33: Away3d workshop slides

Pre-made models

SoftwareFormatsLoadingDebug tools

Wednesday, June 16, 2010

Page 34: Away3d workshop slides

Light

Limits apply!

Wednesday, June 16, 2010

Page 35: Away3d workshop slides

Materials

Color materialsBitmap materialsComposite materialsPixelBender shaders

Wednesday, June 16, 2010

Page 36: Away3d workshop slides

Making models

from scratch

Wednesday, June 16, 2010

Page 37: Away3d workshop slides

Planning

for expandability

Wednesday, June 16, 2010

Page 38: Away3d workshop slides

UV Coordinates How mapping works

Wednesday, June 16, 2010

Page 39: Away3d workshop slides

User Interaction

MouseKeyboard

Wednesday, June 16, 2010

Page 40: Away3d workshop slides

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

Cooliris.as - (original plugin example)

Wednesday, June 16, 2010

Page 41: Away3d workshop slides

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