A XML Standard For Digital Asset Exchange - GameDev

Transcription

A XML standard forDigital Asset ExchangeDr. Rémi ArnaudSony Computer Entertainment – US R&D Copyright Khronos Group, 2007 - Page 1

Agenda Goals and accomplishments COLLADA business model Tools and samples COLLADA FX COLLADA Physics COLLADA Roadmap Q&A sessionPS3 ducky - Image courtesy of Sony Computer Entertainment Copyright Khronos Group, 2007 - Page 2

Design Goals (1) Content creation has become increasingly demanding-3D devices expands in complexity and capabilitiesSize of content ever growingShrinking production schedulesEver growing budgetsDevice capabilityContent production DCC tools not keeping pace with technology-Dynamic contentShader FXPhysicsCollaborative development Need Export and Import !-Need flexibility creating content pipelineEnable mixing tools for better productivityOpening the door to a variety of third party toolsNeed a language – import and export required for true communication Copyright Khronos Group, 2007 - Page 3

Design Goals (2) Improve Asset Management System- Assets are not files, but XML elements- Interactive development- Collaborative design Content pipeline processing- Contain enough information to enable creation of target optimized format- Can store both DCC centric formatted data and game engine data- From Polygons to Triangle strips Extensibility- Final user can easily extend the features- Extension by substitution- Extension by addition- Tool vendors can add elements- Tool specific data for no-loss import / export- Candidate for standardization in future releases Modularity- Libraries of assets- Many things can be externally referenced Need validation capability- Syntax to be validated, regardless of the content- XML Schema validation- Need to enable verification of exporter and importer quality- COLLADA needs a full fledge conformance test Copyright Khronos Group, 2007 - Page 4

Objectives Raise the quality and feature set of contentLiberate content from proprietary formats and APIBring more tools to developers/artistsDrastically improve productivityLower the barrier to entry for tool & middleware companiesBring ‘advanced’ features into the main streamEnable user content flowRemove the wall between 3D industries (movie, game, CAD )Image courtesy of DAZ Production (www.daz3d.com) Copyright Khronos Group, 2007 - Page 5

COLLADA adopted by Khronos COLLADA 1.4.0 adopted as industry standard by Khronos 01/06- Not an API, COLLADA is a language- Intermediate Digital Asset Exchange format (.dae)- XML Schema technologywww.khronos.org/collada Copyright Khronos Group, 2007 - Page 6

Status 1.4.1 released August 2006- Patch update from 1.4.0 (January)- Very stable specification ! Thousands of active users- 15% game developers using COLLADA today- 40% investigating the technology- Most engines have COLLADA support- 15,000 1.4.1 specification downloaded Adopted by Google Earth for 3D models- COLLADA content manipulated by mainstream users- SketchUp, 3D warehouse- Photomodeler, realviz, 3D nature . More DCC tools have COLLADA support-Since COLLADA 1.0: 3dsMax, Maya, XSISince COLLADA 1.4.x: Blender, HoudiniPhotoshop CS3 extended : 3D, with COLLADA supportWork in progress: DAZ, Modo, Lightwave Official conformance test in development- Early access available to Khronos members- Publicly available reference viewer and coherency test Copyright Khronos Group, 2007 - Page 7PS3 ducky on earthImage courtesy of Google Inc(earth.google.com)

Agenda Goals and accomplishments COLLADA business model Tools and samples COLLADA FX COLLADA Physics COLLADA Roadmap Q&A sessionDigital Berlin – 44000 COLLADA buildings !Image courtesy Berlin Senate Department of Urban Development Copyright Khronos Group, 2007 - Page 8

Why contribute to COLLADA ? There is only one good reason for standards to exist:- Companies supporting the standard make/save money if the standard exists- Contributing is expensive (resource, IP, membership)- Benefit need to be much higher than cost Follow the money- Game Console vendors make most of this money selling content (games)- Better content more consumers larger business- Better content tools cheaper content more incentive to create better content - (Graphics) Hardware companies make money selling GPUs.- Need to keep the market hungry for more features/performance- Need more advanced content - Also need standard API.- Digital Content Creation tools- Need to create content that can be used- Customers do not want their data prisoner of the tool- WARNING – Some DCC tools company want to own your data, so you always have to gothrough them to get access to your own data. (undocumented binary formats, licensed API– no source code).- Google makes money selling advertisement and technology- The more users the more money- Content need to be attractive and entertaining- Focusing on user content Copyright Khronos Group, 2007 - Page 9

Why adding COLLADA support ? Yet another format ?- Reduce the number of formats you have to support – get rid of vintage formats- example: RealViz went from 6 to 1 format to support- Grow your customer base- COLLADA let you interface with more tools, in different business sectors- Example: SketchUp entry in the game industry for rapid prototyping- Follow COLLADA feature set and roadmap- Start with geometry and textures- Then add animation, physics, skinning .- This provides your customer a clear roadmap, and a definite way to get there“We decided to use COLLADA because there are many features I do not yet support”- Stop wasting money writing exporters and fighting with DCC SDK bug- Max Maya Softimage . exporters is more expensive than 1 COLLADA importer- Reduce your support cost- COLLADA validation and coherency test- Exporters are supported, report the bug and let them do the work Copyright Khronos Group, 2007 - Page 10

Example COLLADA businesses Feeling Software - contractor- COLLADA plug-ins development for tool vendors- Gold support contracts for developers- Special projects – highly competitive due to re-use of COLLADA technology Pixel Academy - training- COLLADA 101 Web course- Special training sessions- Advanced follow-up trainings- Game development with COLLADA- Other business opportunities-COLLADA asset management and content pipeline toolsCOLLADA asset creation (sub-contracting to game developers)COLLADA binary distribution format (codec)COLLADA community / user content (flikr / youtube for 3D) Copyright Khronos Group, 2007 - Page 11

Agenda Goals and accomplishments COLLADA business model Tools and samples COLLADA FX COLLADA Physics COLLADA Roadmap Q&A sessionCOLLADA Book – AK Peter publisher Copyright Khronos Group, 2007 - Page 12

Demo reel Copyright Khronos Group, 2007 - Page 13

Workgroups and COLLAborative workspaces Taking advantage of the URI technology Assembly of scene involving asset created by multiple parties- Use reference models to externally reference 3D assets Multi task on 3D assets (i.e. rigging, modeling, animating)- Rig, geometry and animation are stored in different COLLADA files- They are assembled in the final scene3D characterDCC 1Rigger3D asset (COLLADA file)DCC2Modeler3D asset (COLLADA file)DCC2Animator Copyright Khronos Group, 2007 - Page 14Animation fileRigreference3Dgeometryreferenceanimation

XSI COLLADA aggregator demo reel Copyright Khronos Group, 2007 - Page 15

Skeletal Bone Animation andSkinning with Collada Models in XNA Copyright Khronos Group, 2007 - Page 16

Import of COLLADA models on XNA This technique creates a ColladaModel.cs class Copyright Khronos Group, 2007 - Page 17

Dungeon Quest game – GDC07 Copyright Khronos Group, 2007 - Page 18

Refinery – Content Pipeline ToolFree, Open Source Prototype tool chainJava based user interfaceC (dll) conditionersCan run as a batch (command line), once conditioning pipeline established TriangulateOptimize (T-mesh)File cleaning (kmz files)Conversion (1.4.0 - 1.4.1)Axis conversion (X UP - Y UP)Coherency tests are conditioners Expect more conditioners in the future, or create your own Copyright Khronos Group, 2007 - Page 19

COLLADA Contest – www.colladacontest.comParticipants must write one or more conditioners for the COLLADARefinery. Example entries are: An importer conditioner (load .3ds, .obj, .x3d, .vrml, cad, terrain ) An exporter conditioner (to a game engine, or other formats .3ds, .obj, .x3d) Data processing for content pipeline (processing of geometry, optimization,conversion) Debugging and monitoring tools (statistics, diff tool) Automatic LOD generation - takes a geometry and creates a specifiednumber of LOD geometries with names like (GeometryID) LOD 1 Copyright Khronos Group, 2007 - Page 20

Agenda Goals and accomplishments COLLADA business model Tools and samples COLLADA FX COLLADA Physics COLLADA Roadmap Q&A sessionPapervision 3D – www.papervision3d.comCOLLADA in FLASH Copyright Khronos Group, 2007 - Page 21

NVIDIA FXComposer 2.0 - a breakthroughRapid shader authoring Copyright Khronos Group, 2007 - Page 22

User Interface Overview Management- Project Explorer- Library w Coding- Modify shader code Properties- Modify parameter values Preview- Multiple platform views Info- Tasks and errors- Python scripting- Shader Performance Textures- Explore image resources- View render targets Copyright Khronos Group, 2007 - Page 23

Easy Shader Performance Tuning Copyright Khronos Group, 2007 - Page 24

Mental Mill Artist Edition Copyright Khronos Group, 2007 - Page 25

Streamlined Pipeline Integration Copyright Khronos Group, 2007 - Page 26

COLLADA FX Demo Reel Copyright Khronos Group, 2007 - Page 27

Agenda Goals and accomplishments COLLADA business model Tools and samples COLLADA FX COLLADA Physics COLLADA Roadmap Q&A sessionLittle Big Planet – PLAYSTATION 3Image courtesy Sony Computer Entertainment Copyright Khronos Group, 2007 - Page 28

Why COLLADA Physics ? Standard physics representation with industry support Make use of growing number of available tools and assets Open standard allows your own extensions Improve compatibility between physics tools Researchers can start using it- Stanford bunny with physics properties Collaboration and Benchmarking Copyright Khronos Group, 2007 - Page 29

‘Rube Goldberg’ Physics Demo Demo entries from a Bullet Physics Contest 2007 Converted to COLLADA Physics Difference in physics behavior is a challenge for a standard COLLADA Physics baked into COLLADA animation COLLADA RT Viewer with physics Eurographics physics competition http://gv2.cs.tcd.ie/eg07/Images courtesy of moobins.com and Samuel Muse Copyright Khronos Group, 2007 - Page 30

Features Collision volumes- Box, sphere, capsule, cylinder, convex mesh, concave triangle mesh, composite etc. Rigid-bodies- Mass, inertia, dynamic (movable) or static (inactive), collision shape Constraints- Generic representation with motors, springs and limits, for ragdolls etc. Physics materials- Friction, restitution Copyright Khronos Group, 2007 - Page 31

geometry Copyright Khronos Group, 2007 - Page 32

Analytic shapes Copyright Khronos Group, 2007 - Page 33

Features continued Complex physics models- Grouping of multiple rigid bodies and constraints Instancing- Re-use of collision shapes, rigid bodies, physics materials, constraints and physics models Force-fields- Gravity, wind etc. Multiple simulation environments- Multiple physics scenes Extensible for custom properties- Attach your own data to elements Copyright Khronos Group, 2007 - Page 34

Rigid Body Example library library type "PHYSICS" type "PHYSICS" rigid body rigid body id "hammerHandleRigidBody" id "hammerHandleRigidBody" shape shape mass mass 0.250.25 /mass /mass inertia . inertia . /inertia /inertia cylinder cylinder height height 8.08.0 /height /height radius 0.50.5 radius 0.5 0.5 /radius /radius /cylinder /cylinder physics material physics material url "#WoodPhysMtl"/ url "#WoodPhysMtl"/ /shape /shape /rigid body /rigid body /library /library library library type "GEOMETRY" type "GEOMETRY" geometry geometry id "hammerHandleToRender" id "hammerHandleToRender" mesh mesh . /mesh /mesh /geometry /geometry /library /library Copyright Khronos Group, 2007 - Page 35

Constraint Example Generic representation- X & Y min/max angles: elliptical “swing cone”- Z min/max angles: “twist” range rigid constraint rigid constraint id "rigidHingeConstraint" id "rigidHingeConstraint" ref attachment ref attachment body "#wallRigidBody" body "#wallRigidBody" translatesid "translate" 5 translate sid "translate" 5 00 0 /translate 0 /translate /ref attachment /ref attachment attachment attachment body "#doorRigidBody" body "#doorRigidBody" translate translate sid "translate" 0sid "translate" 0 88 0 /translate 0 /translate rotatesid "rotateX" 0 rotate sid "rotateX" 0 11 00 -45.0 /rotate -45.0 /rotate /attachment /attachment technique common technique common limits limits swing cone and twist swing cone and twist min min 00 9090 00 /min /min max max 00 -90-90 00 /max /max /swing cone and twist /swing cone and twist /limits /limits /technique common /technique common /rigid constraint /rigid constraint Copyright Khronos Group, 2007 - Page 36

COLLADA Physics tools Feeling Software and Ageia- 3ds Max plugin with COLLADA Physics export- Maya ColladaMaya plugin exporting Mayadynamics and PhysX- Maya Nima plugin- Feeling Viewer has physics simulation XSI- Physics export planned Blender 2.43- COLLADA Physics export and importImages courtesy of Feeling Software (www.feelingsoftware.com),and AGEIA (www.ageia.com) Copyright Khronos Group, 2007 - Page 37

Other standalone physics tools Create Dynamics- Convex decomposition- Cloth and deformable skinning authoring Open Physics Composer- Early prototype, steered by feedback- Similar idea to FX Composer, but for physics Scythe Physics Editor- Multiple physics engine support Several in-house, command-line orstand-alone physics tools Copyright Khronos Group, 2007 - Page 38

SDK support for COLLADA Physics Ageia PhysX SDK- Provides NxuStream library with COLLADA Physics support Bullet Physics SDK- Open source with COLLADA Physics import and export samples COLLADA DOM- Open source lossless COLLADA import and export based on libxml- Autogenerated from the COLLADA XML Schema FCollada- Open source import/export library by Feeling Software- Used in ColladaMaya, ColladaMax plugins and various other tools Copyright Khronos Group, 2007 - Page 39

Agenda Goals and accomplishments COLLADA business model Tools and samples COLLADA FX COLLADA Physics COLLADA Roadmap Q&A sessionCOLLADA training DVDwww.pixelboxacademy.tk Copyright Khronos Group, 2007 - Page 40

COLLADA AutomationImages courtesy Daimler Chrysler IK, Robot collision, Programming, Security, Human interactionVirtual factory, asset identification/management, cablingPresentations (rendering), training, simulationInterchange – CAE / CAD / Robot Simulation / PLC / Copyright Khronos Group, 2007 - Page 41

COLLADA for User Interface objects ?Interested parties: OpenVG WG, Omegame, Image courtesy of Omegame (www.omegame.com) Copyright Khronos Group, 2007 - Page 42

No more files !!! Artist feedback loop is a major issue for embeded content development- Modify asset in tool, then export (wait), then load asset on target (wait), and then look at resultwith a different user interface Asset management based on opaque files- Can’t do a diff between two assets !- Cannot do a merge- All the software productivity tools are missing from content development Using an interactive database system, instead of a file system-Send updates in real time to the databaseListen to database changes – not all applications can handle this.No more import/exportNo problem if the tool crashesCollaborative developmentSimultaneous display of model on the target platform Collaboration COLLADA / Verse- Demonstrated at GDC (PS3/Windows/Linux/Mac)- Using COLLADA to load data in database and save data from database when work is done- Modified COLLADA DOM to listen to Verse database and real-time display on PS3 Copyright Khronos Group, 2007 - Page 43

Links Khronos www.kronos.org/colladaCOLLADA www.collada.orgAgeia www.ageia.comBullet Physics bulletphysics.comScythe Physics editor www.physicseditor.comFeeling Software www.feelingsoftware.comJohn Ratcliff’s blog codesuppository.blogspot.comSoftimage XSI www.softimage.wiki.avid.com/index.php/COLLADA for XSIBlender COLLADA colladablender.illusoft.com/downloads.htmlHoudini www.sidefx.com/downloadCOLLADA DOM/RT/Refinery sourceforge.net/projects/collada-domOpen Scene Graph www.openscenegraph.orgRemograph www.remograph.comC4 engine www.terathon.com/c4engine/index.php Copyright Khronos Group, 2007 - Page 44

More links DAZ 3D www.daz3d.comANARK www.anark.comPapervision3D www.papervision3d.orgXnormal www.xnormal.netLightsprint lightsprint.comAdobe Photoshop COLLADA book www.akpeters.com/product.asp?ProdCode 2876Web3D / Khronos liaison www.web3d.org/news/archives/2007 04.php#000779COLLADA contest www.colladacontest.com3d warehouse sketchup.google.com/3dwarehouseGoogle Earth earth.google.comnVidia FXComposer 2.0 developer.nvidia.com/page/home.htmlRealViz www.realviz.com3D nature www.3dnature.comApologies to those not mentioned Copyright Khronos Group, 2007 - Page 45

Questions ?Thank You! Copyright Khronos Group, 2007 - Page 46

- Example: SketchUp entry in the game industry for rapid prototyping - Follow COLLADA feature set and roadmap - Start with geometry and textures - Then add animation, physics, skinning . - This provides your customer a clear roadmap, and a definite way to get there "We decided to use COLLADA because there are many features I do not yet .