introducing papervision3D
carlos ulloa
www.papervision3d.org
blog.papervision3d.org
wiki.papervision3d.org
open source 3d library or Flash
genesis: Spark conference Amsterdam 2005
-presentation by joost korngold – renascent
2006.12.02 – papervision went open source
-papervision license: MIT license – free for commercial use
-open-sourced so that people could use it
2006.12.10
ralph hauwert – the guy who built he rhino
core team: carlos ulloa, John Grdner, Ralph Hauwert
COMMUNITY has been very important. Feedback has been invaluable
WHY PAPERVISION?
-powerful: Flash 3d is extremely difficult to do well.
-easy to use : people should be able to pick it up quickly, immediately be useful
-production driven design
-high performance realtime 3d rendering
-linear texture mapping per face
-hierarchy, instances, materials management
EASY TO USE
-useful for developers and designers
-designed for Flash
-AS3-style syntax -3d objects should not be more complex than movieclips
-no maths required defaults to using degrees
-you can use your own 3d package
-create and modify without recompiling
-preview your scenes in realtime
COLLADA – data format
-open standard
-XML based
-scene format
-multiple objects and textures per scene
-supports camera, materials, paths, tween & skeleton animation, physics
-originally created by Sony for PS3 and PSP-now property of Khronos
Free plugins available for Maya, 3dsm, softimage XSI, and Blender
-adopted by many commercial game studios, game engines, and Google Earth
-Thanks, Collada!
METAPHOR which we use in papervision
-in a computer, 3d data must be rendered in 3d
1. Scene (stage) -> Objects (thing) -> materials (look and feel) ->
2. Scene -> Camera (viewpoint)
OBJECT
org.papervision3d.objects
displayobject3d -> xyz pos, xys rotation, scale, scale xyz, visible, name, parent, root
3d model
-created by a 3d artist in a 3d package (GENERALLY NOT DESIGNED BY THE DEVELOPER)
planes
-planes moving in 3d, mimicking a 3d object
Primitives
-cube, sphere, cone, cylinder
Skybox
-panorama
Particles
-e.g. stars
Materials
org.papervision3d.materials
Textures
-bitmapdata, MC, library assets, jpg, png, flv
-Photoshop CS3 extended
Cameras
-the location from which the scene is being viewed
org.papervision3d.cameras
extends displayobject3d
-target – a thing the camera follows
ONE LINE OF CODE
-each behavior can be implemented with one line of code
-Flash CS3 component in the works
MORE COMING SOON
animation
-Tim Knip – skeleton animation
-Jim Armstrong – classes for hands, arms, etc.
MATERIALS
-visual quality
-z-flat shading : quick, easy, not the best
-phong shading
-z-flat shading textured implementation
-phong shading
-argh! Too many ways of rendering to copy down!
BumpMapping
COMING SOON
Normalmapping – high poly to low poly without datsa loss
specular maps – reflection mapping
cubic environment mapping – thing the Terminator 2
Mip-Maps
Real silhouettes/outline shading..not cheating using a filter
plugin structure for custom materials
lighting structures
shadow structures
z-buffer(?)
PERFORMANCE
current RC2 speed increase: 20%
better clipping, fogging, depth queuing
Demo reel: HOLY SHIT!!!!!!!!
[also lots of photos of the screen]