COLLADA
Lua error in package.lua at line 80: module 'strict' not found.
Filename extension | .dae |
---|---|
Internet media type | model/vnd.collada+xml |
Developed by | Sony Computer Entertainment, Khronos Group |
Initial release | October 2004 |
Latest release |
1.5.0
(August 2008 ) |
Type of format | 3D computer graphics |
Extended from | XML |
Website | khronos |
COLLADA (COLLAborative Design Activity) is an interchange file format for interactive 3D applications. It is managed by the nonprofit technology consortium, the Khronos Group, and has been adopted by ISO as a publicly available specification, ISO/PAS 17506.[1]
COLLADA defines an open standard XML schema for exchanging digital assets among various graphics software applications that might otherwise store their assets in incompatible file formats. COLLADA documents that describe digital assets are XML files, usually identified with a .dae (digital asset exchange) filename extension.
Contents
History
Originally created at Sony Computer Entertainment by Rémi Arnaud and Mark C. Barnes,[2] it has since become the property of the Khronos Group, a member-funded industry consortium, which now shares the copyright with Sony. The COLLADA schema and specification are freely available from the Khronos Group.[3] The COLLADA DOM uses the SCEA Shared Source License.
Several graphics companies collaborated with Sony from COLLADA's beginnings to create a tool that would be useful to the widest possible audience, and COLLADA continues to evolve through the efforts of Khronos contributors. Early collaborators included Alias Systems Corporation, Criterion Software, Autodesk, Inc., and Avid Technology. Dozens[quantify] of commercial game studios and game engines have adopted the standard.
In March 2011, Khronos released[4] the COLLADA Conformance Test Suite (CTS). The suite allows applications that import and export COLLADA to test against a large suite of examples, ensuring that they conform properly to the specification. In July 2012, the CTS software was released on GitHub,[5] allowing for community contributions.
ISO/PAS 17506:2012 Industrial automation systems and integration -- COLLADA digital asset schema specification for 3D visualization of industrial data was published in July 2012.[6]
Software tools
COLLADA was originally intended as an intermediate format for transporting data from one digital content creation (DCC) tool to another application. Applications exist to support the usage of several DCCs, including:
- 3ds Max (ColladaMax)
- Adobe Photoshop
- Allplan
- ArtiosCAD
- Blender
- Bryce
- Carrara
- Cheddar Cheese Press (model processor)
- Chief Architect Software
- Cinema 4D (MAXON)
- CityEngine
- CityScape
- Clara.io
- Cura
- DAZ Studio
- Delphi
- E-on Vue 9 xStream
- Esko Studio
- FreeCAD
- FormZ
- GPure
- Houdini (Side Effects Software)
- iBooks Author
- LightWave 3D (v 9.5)
- MakeHuman
- Maya (ColladaMaya)
- MeshLab
- Mobile Model Viewer (Android)
- Modo
- Okino PolyTrans for bidirectional Collada conversions
- OpenRAVE
- Poser Pro (v 7.0)
- Presagis Creator
- Robot Operating System
- SAP Visual Enterprise Author
- Shade 3D (E Frontier, Mirye)
- SketchUp (v 8.0) – KMZ file is a zip file containing a KML file, a COLLADA file, and texture images
- Softimage|XSI
- Strata 3D
- Ürban PAD
- Vectorworks
- Visual3D Game Development Tool for Collada scene and model viewing, editing, and exporting
- Wings 3D
- Xcode (v 4.4)
Game engines
Although originally intended as an interchange format, many game engines now support COLLADA natively, including:
- Ardor3D
- Blender Game Engine
- C4 Engine
- CryEngine 2
- FireMonkey
- GamePlay
- Godot
- GLGE
- Irrlicht Engine
- OpenSimulator
- Panda3d
- SceneKit
- ShiVa
- Spring
- Torque 3D
- Turbulenz
- Unigine
- Unity
- Unreal Engine
- Vanda Engine
- Visual3D Game Engine
- Neoaxis 3d Game Engine
- HPL Engine
Applications
Some games and 3D applications have started to support COLLADA:
- ArcGIS
- Autodesk InfraWorks
- Google Earth (v 4) – users can simply drag and drop a COLLADA file on top of the virtual Earth
- JanusVR
- Kerbal Space Program - .dae files for 3d model mods.
- Maple (software) - 3D plots can be exported as COLLADA
- Open Wonderland
- OpenSimulator
- Mac OS X 10.6's Preview
- NASA World Wind
- SAP Visual Enterprise Author – supports import and export .dae files.
- Second Life
- SketchUp - import .dae files.
- Systems Tool Kit (STK) - utilizes .dae files for 3d models
- TNTmips
Libraries
There are several libraries available to read and write COLLADA files under programmatic control:
- COLLADA DOM (C++) - The COLLADA DOM is generated at compile-time from the COLLADA schema. It provides a low-level interface that eliminates the need for hand-written parsing routines, but is limited to reading and writing only one version of COLLADA, making it difficult to upgrade as new versions are released.
- FCollada (C++) - A utility library available from Feeling Software. In contrast to the COLLADA DOM, Feeling Software's FCollada provides a higher-level interface. FCollada is used in ColladaMaya, ColladaMax, and several commercial game engines. The development of the open source part was discontinued by Feeling Software in 2008. The company continues to support its paying customers and licenses with improved versions of its software.
- OpenCOLLADA (C++) - The OpenCOLLADA project provides plugins for 3ds Max and Maya and the sources of utility libraries which were developed for the plugins.
- pycollada (Python) - A Python module for creating, editing and loading COLLADA. The library allows the application to load a COLLADA file and interact with it as a Python object. In addition, it supports creating a COLLADA Python object from scratch, as well as in-place editing.
- Scene Kit (Objective-C) - An Objective-C framework introduced in OS X 10.8 Mountain Lion that allows reading, high-level manipulation and display of COLLADA scenes.
- GLGE (JavaScript) - a JavaScript library presenting COLLADA files in a web browser using WebGL.
- Three.js (JavaScript) - a 3D Javascript library capable of loading COLLADA files in a web browser.
- StormEngineC (JavaScript) - Javascript 3D graphics library with option of loading COLLADA files.
Physics
As of version 1.4, physics support was added to the COLLADA standard. The goal is to allow content creators to define various physical attributes in visual scenes. For example, one can define surface material properties such as friction. Furthermore, content creators can define the physical attributes for the objects in the scene. This is done by defining the rigid bodies that should be linked to the visual representations. More features include support for ragdolls, collision volumes, physical constraints between physical objects, and global physical properties such as gravitation.
Physics middleware products that support this standard include Bullet Physics Library, Open Dynamics Engine, PAL and NVIDIA's PhysX. These products support by reading the abstract found in the COLLADA file and transferring it into a form that the middleware can support and represent in a physical simulation. This also enables different middleware and tools to exchange physics data in a standardized manner.
The Physics Abstraction Layer provides support for COLLADA Physics to multiple physics engines that do not natively provide COLLADA support including JigLib, OpenTissue, Tokamak physics engine and True Axis. PAL also provides support for COLLADA to physics engines that also feature a native interface.
Versions
- 1.0: October 2004
- 1.2: February 2005
- 1.3: June 2005
- 1.4.0: January 2006; added features such as character skinning and morph targets, rigid body dynamics, support for OpenGL ES materials, and shader effects for multiple shading languages including the Cg programming language, GLSL, and HLSL. First release through Khronos.
- 1.4.1: July 2006; primarily a patch release.
- 1.5.0: August 2008; added kinematics and B-rep as well as some FX redesign and OpenGL ES support.[7] Formalised as ISO/PAS 17506:2012.
See also
- 3DMLW (3D Markup Language for Web)
- FBX
- List of vector graphics markup languages
- Open Game Engine Exchange (OpenGEX)
- U3D
- VRML
- WebGL
- X3D
References
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://www.khronos.org/news/press/khronos-group-releases-free-collada-conformance-test-suite
- ↑ http://www.khronos.org/news/permalink/opencollada-and-collada-cts-now-on-github
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.