a xml standard for digital asset exchange -...
TRANSCRIPT
© Copyright Khronos Group, 2007 - Page 1
A XML standard for A XML standard for Digital Asset Exchange Digital Asset Exchange
Dr. Rémi ArnaudSony Computer Entertainment – US R&D
© Copyright Khronos Group, 2007 - Page 2
AgendaAgenda• Goals and accomplishments• COLLADA business model• Tools and samples• COLLADA FX• COLLADA Physics• COLLADA Roadmap• Q&A session
PS3 ducky - Image courtesy of Sony Computer Entertainment
© Copyright Khronos Group, 2007 - Page 3
Design Goals (1)Design Goals (1)• Content creation has become increasingly demanding
- 3D devices expands in complexity and capabilities- Size of content ever growing- Shrinking production schedules- Ever growing budgets
• DCC tools not keeping pace with technology- Dynamic content- Shader FX- Physics- Collaborative development
• Need Export and Import !- Need flexibility creating content pipeline- Enable mixing tools for better productivity- Opening the door to a variety of third party tools- Need a language – import and export required for true communication
Content production
Device capability
© Copyright Khronos Group, 2007 - Page 4
Design Goals (2)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 5
ObjectivesObjectives• Raise the quality and feature set of content• Liberate content from proprietary formats and API• Bring more tools to developers/artists• Drastically improve productivity• Lower the barrier to entry for tool & middleware companies• Bring ‘advanced’ features into the main stream• Enable user content flow• Remove the wall between 3D industries (movie, game, CAD…)
Image courtesy of DAZ Production (www.daz3d.com)
© Copyright Khronos Group, 2007 - Page 6
COLLADA adopted by KhronosCOLLADA 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 technology
www.khronos.org/collada
© Copyright Khronos Group, 2007 - Page 7
StatusStatus• 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, XSI- Since COLLADA 1.4.x: Blender, Houdini- Photoshop CS3 extended : 3D, with COLLADA support- Work in progress: DAZ, Modo, Lightwave
• Official conformance test in development- Early access available to Khronos members- Publicly available reference viewer and coherency test
PS3 ducky on earthImage courtesy of Google Inc
(earth.google.com)
© Copyright Khronos Group, 2007 - Page 8
AgendaAgenda• Goals and accomplishments• COLLADA business model• Tools and samples• COLLADA FX• COLLADA Physics• COLLADA Roadmap• Q&A session
Digital Berlin – 44000 COLLADA buildings !Image courtesy Berlin Senate Department of Urban Development
© Copyright Khronos Group, 2007 - Page 9
Why contribute to COLLADA ?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 go
through 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 10
Why adding COLLADA support ?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 11
Example COLLADA businessesExample 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 tools- COLLADA 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 12
AgendaAgenda• Goals and accomplishments• COLLADA business model• Tools and samples• COLLADA FX• COLLADA Physics• COLLADA Roadmap• Q&A session
COLLADA Book – AK Peter publisher
© Copyright Khronos Group, 2007 - Page 13
Demo reelDemo reel
© Copyright Khronos Group, 2007 - Page 14
Workgroups and Workgroups and COLLAborativeCOLLAborative workspacesworkspaces
• 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 scene
DCC 1
DCC2
3D character
Rig reference
3D geometry reference
3D asset (COLLADA file)
3D asset (COLLADA file)Modeler
animationAnimation fileAnimator
Rigger
DCC2
© Copyright Khronos Group, 2007 - Page 15
XSI COLLADA aggregator demo reelXSI COLLADA aggregator demo reel
© Copyright Khronos Group, 2007 - Page 16
Skeletal Bone Animation and Skeletal Bone Animation and Skinning with Skinning with ColladaCollada Models in XNAModels in XNA
© Copyright Khronos Group, 2007 - Page 17
Import of COLLADA models on XNAImport of COLLADA models on XNA
• This technique creates a ColladaModel.cs class
© Copyright Khronos Group, 2007 - Page 18
Dungeon Quest game Dungeon Quest game –– GDC07GDC07
© Copyright Khronos Group, 2007 - Page 19
Refinery Refinery –– Content Pipeline ToolContent Pipeline ToolFree, Open Source• Prototype tool chain• Java based user interface• C++ (dll) conditioners• Can run as a batch (command line), once conditioning pipeline established
• Triangulate• Optimize (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 20
COLLADA Contest COLLADA Contest –– www.colladacontest.comwww.colladacontest.comParticipants must write one or more conditioners for the COLLADA
Refinery. 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 specified
number of LOD geometries with names like (GeometryID)_LOD_1
© Copyright Khronos Group, 2007 - Page 21
AgendaAgenda• Goals and accomplishments• COLLADA business model• Tools and samples• COLLADA FX• COLLADA Physics• COLLADA Roadmap• Q&A session
Papervision 3D – www.papervision3d.comCOLLADA in FLASH
© Copyright Khronos Group, 2007 - Page 22
NVIDIA NVIDIA FXComposerFXComposer 2.0 2.0 -- a breakthrougha breakthrough
Rapid shader authoring
© Copyright Khronos Group, 2007 - Page 23
User Interface OverviewUser Interface Overview• Management
- Project Explorer - Library Viewer
• 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
Properties
PreviewInfoTextures
CodingManagement
© Copyright Khronos Group, 2007 - Page 24
Easy Shader Performance TuningEasy Shader Performance Tuning
© Copyright Khronos Group, 2007 - Page 25
Mental Mill Artist EditionMental Mill Artist Edition
© Copyright Khronos Group, 2007 - Page 26
Streamlined Pipeline IntegrationStreamlined Pipeline Integration
© Copyright Khronos Group, 2007 - Page 27
COLLADA FX Demo ReelCOLLADA FX Demo Reel
© Copyright Khronos Group, 2007 - Page 28
AgendaAgenda• Goals and accomplishments• COLLADA business model• Tools and samples• COLLADA FX• COLLADA Physics• COLLADA Roadmap• Q&A session
Little Big Planet – PLAYSTATION 3Image courtesy Sony Computer Entertainment
© Copyright Khronos Group, 2007 - Page 29
Why COLLADA Physics ?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 30
‘‘Rube GoldbergRube Goldberg’’ Physics DemoPhysics 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 31
FeaturesFeatures
• 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 32
<geometry><geometry>
© Copyright Khronos Group, 2007 - Page 33
Analytic shapesAnalytic shapes
© Copyright Khronos Group, 2007 - Page 34
Features continuedFeatures 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 35
Rigid Body ExampleRigid Body Example
<library type="PHYSICS"><rigid_body id="hammerHandleRigidBody"><shape><mass> 0.25 </mass><inertia> ... </inertia><cylinder><height> 8.0 </height><radius> 0.5 0.5 </radius>
</cylinder><physics_material url="#WoodPhysMtl"/></shape>
</rigid_body></library>
<library type="PHYSICS"><rigid_body id="hammerHandleRigidBody"><shape><mass> 0.25 </mass><inertia> ... </inertia><cylinder><height> 8.0 </height><radius> 0.5 0.5 </radius>
</cylinder><physics_material url="#WoodPhysMtl"/></shape>
</rigid_body></library>
<library type="GEOMETRY"><geometry id="hammerHandleToRender"><mesh>
...</mesh>
</geometry></library>
<library type="GEOMETRY"><geometry id="hammerHandleToRender"><mesh>
...</mesh>
</geometry></library>
© Copyright Khronos Group, 2007 - Page 36
Constraint ExampleConstraint Example
• Generic representation- X & Y min/max angles: elliptical “swing cone”- Z min/max angles: “twist” range
<rigid_constraint id="rigidHingeConstraint"><ref_attachment body="#wallRigidBody">
<translate sid="translate">5 0 0</translate></ref_attachment><attachment body="#doorRigidBody">
<translate sid="translate">0 8 0</translate><rotate sid="rotateX">0 1 0 -45.0</rotate>
</attachment><technique_common>
<limits><swing_cone_and_twist>
<min> 0 90 0 </min><max> 0 -90 0 </max>
</swing_cone_and_twist></limits>
</technique_common></rigid_constraint>
<rigid_constraint id="rigidHingeConstraint"><ref_attachment body="#wallRigidBody">
<translate sid="translate">5 0 0</translate></ref_attachment><attachment body="#doorRigidBody">
<translate sid="translate">0 8 0</translate><rotate sid="rotateX">0 1 0 -45.0</rotate>
</attachment><technique_common>
<limits><swing_cone_and_twist>
<min> 0 90 0 </min><max> 0 -90 0 </max>
</swing_cone_and_twist></limits>
</technique_common></rigid_constraint>
© Copyright Khronos Group, 2007 - Page 37
COLLADA Physics toolsCOLLADA Physics tools
• Feeling Software and Ageia- 3ds Max plugin with COLLADA Physics export- Maya ColladaMaya plugin exporting Maya
dynamics and PhysX- Maya Nima plugin- Feeling Viewer has physics simulation
• XSI- Physics export planned
• Blender 2.43- COLLADA Physics export and import
Images courtesy of Feeling Software (www.feelingsoftware.com),and AGEIA (www.ageia.com)
© Copyright Khronos Group, 2007 - Page 38
Other standalone physics toolsOther 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 or stand-alone physics tools
© Copyright Khronos Group, 2007 - Page 39
SDK support for COLLADA PhysicsSDK 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 40
AgendaAgenda• Goals and accomplishments• COLLADA business model• Tools and samples• COLLADA FX• COLLADA Physics• COLLADA Roadmap• Q&A session
COLLADA training DVDwww.pixelboxacademy.tk
© Copyright Khronos Group, 2007 - Page 41
COLLADA AutomationCOLLADA Automation
• IK, Robot collision, Programming, Security, Human interaction• Virtual factory, asset identification/management, cabling• Presentations (rendering), training, simulation• Interchange – CAE / CAD / Robot Simulation / PLC / …
Images courtesy Daimler Chrysler
© Copyright Khronos Group, 2007 - Page 42
COLLADA for User Interface objects ?COLLADA for User Interface objects ?Interested parties: OpenVG WG, Omegame, …
Image courtesy of Omegame (www.omegame.com)
© Copyright Khronos Group, 2007 - Page 43
No more files !!!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 result with 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 database- Listen to database changes – not all applications can handle this.- No more import/export- No problem if the tool crashes- Collaborative development- Simultaneous 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 44
LinksLinks• Khronos www.kronos.org/collada• COLLADA www.collada.org• Ageia www.ageia.com• Bullet Physics bulletphysics.com• Scythe Physics editor www.physicseditor.com• Feeling Software www.feelingsoftware.com• John Ratcliff’s blog codesuppository.blogspot.com• Softimage|XSI www.softimage.wiki.avid.com/index.php/COLLADA_for_XSI• Blender COLLADA colladablender.illusoft.com/downloads.html• Houdini www.sidefx.com/download• COLLADA DOM/RT/Refinery sourceforge.net/projects/collada-dom• Open Scene Graph www.openscenegraph.org• Remograph www.remograph.com• C4 engine www.terathon.com/c4engine/index.php
© Copyright Khronos Group, 2007 - Page 45
More linksMore links• DAZ 3D www.daz3d.com• ANARK www.anark.com• Papervision3D www.papervision3d.org• Xnormal www.xnormal.net• Lightsprint lightsprint.com• Adobe Photoshop www.adobe.com/products/photoshop/photoshopextended• COLLADA book www.akpeters.com/product.asp?ProdCode=2876• Web3D / Khronos liaison www.web3d.org/news/archives/2007_04.php#000779• COLLADA contest www.colladacontest.com• 3d warehouse sketchup.google.com/3dwarehouse• Google Earth earth.google.com• nVidia FXComposer 2.0 developer.nvidia.com/page/home.html• RealViz www.realviz.com• 3D nature www.3dnature.com
Apologies to those not mentioned
© Copyright Khronos Group, 2007 - Page 46
Questions ?Questions ?
Thank You!Thank You!