Difference between revisions of "COLLADA FAQ"

From COLLADA Public Wiki
Jump to: navigation, search
(How do I enable COLLADA in my art package)
(About COLLADA: add Getting Started link)
 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<div style="background-color: #f7ba5b; text-align: center; border:1px solid #7e5616; font:14px arial,helvetica,sans-serif; color:#000; padding-top: 3px; padding-bottom: 3px;">'''Welcome to the COLLADA Frequently Asked Questions (FAQ)'''
 
<div style="background-color: #f7ba5b; text-align: center; border:1px solid #7e5616; font:14px arial,helvetica,sans-serif; color:#000; padding-top: 3px; padding-bottom: 3px;">'''Welcome to the COLLADA Frequently Asked Questions (FAQ)'''
<BR>If you have a COLLADA question but no answer, start at the [https://collada.org/public_forum/ COLLADA public forums]. (This FAQ is about COLLADA,  not about this [[wiki]]--see the [[Wiki FAQ]] or [[wiki help desk]].) </div>
+
<BR><small>(This FAQ is about COLLADA,  not about this [[wiki]]--see the [[Wiki FAQ]] or [[wiki help desk]].)</small> </div>
 
<div style="height:6px;"></div>
 
<div style="height:6px;"></div>
{| style="text-align:left; width:100%; border:1px solid #666666;" cellspacing="0" cellpadding="8"
+
{| style="text-align:left; width:200px; border:1px solid #666666; float:right;" cellspacing="0" cellpadding="8"  
 
|-
 
|-
 
| style="background-color:#eeeeee;" | {{howtopostfaq}}
 
| style="background-color:#eeeeee;" | {{howtopostfaq}}
Line 8: Line 8:
 
| style="background-color:#eeeeee;" colspan="2" |{{addnewsection|actiontext=post a new FAQ|dottedlines={{{dottedlines}}}}}
 
| style="background-color:#eeeeee;" colspan="2" |{{addnewsection|actiontext=post a new FAQ|dottedlines={{{dottedlines}}}}}
 
|}
 
|}
 
----
 
This list has been compiled from frequently asked questions and direct inquiries such as : [http://www.3d-test.com/interviews/collada_1.htm 3d-test.com]
 
[[Category:Help]][[Category:Top level]]
 
  
 
==About COLLADA==
 
==About COLLADA==
 
===What is COLLADA?===
 
===What is COLLADA?===
[[COLLADA]] stands for COLLAborative Design Activity. Development of the standard is currently managed through The Khronos Group [[COLLADA|Read more]].
+
[[COLLADA]] stands for COLLAborative Design Activity. Development of the standard is currently managed through [[The Khronos Group]].
 +
 
 +
===Where is more info about getting started with COLLADA?===
 +
* '''[[Getting started with COLLADA]]'''
  
 
===What are the benefits of using COLLADA?===
 
===What are the benefits of using COLLADA?===
Previously, art assets created in one package were incompatible with other packages. You could not create an asset in one package and then use a different package to modify that asset. Custom exporters had to be written for each package, and freelancers were often forced to use the same package when contributing content to a project.
+
Previously, art assets created in one package were incompatible with other packages. You could not create an asset in one package and then use a different package to modify that asset. Developers had to write custom exporters and importers for each package, and freelancers were often forced to use the same package when contributing content to a project.
  
By having a standard format supported by many packages, it becomes possible to exchange assets between packages and to have greater flexibility in choosing the right tool for the right job. A standard format also enables art assets to be easily formatted into compatible data regardless of which package they were created with.
+
By having a standard format that is supported by many packages, it becomes possible to exchange assets among packages and to have greater flexibility in choosing the right tool for the job. A standard format also enables art assets to be easily formatted into compatible data regardless of which package they were created with.
  
 
COLLADA is also an extendable format, so you are not limited in any way by the features supported by COLLADA’s current format.
 
COLLADA is also an extendable format, so you are not limited in any way by the features supported by COLLADA’s current format.
  
 
===Is COLLADA &quot;only&quot; a new file format?===
 
===Is COLLADA &quot;only&quot; a new file format?===
COLLADA is an [[XML schema]] and a common profile defining a list of features that every COLLADA partner has agreed to support. Using an XML schema enables the powerful capability of validating data, as well as the possibility of using many existing commercially available or public domain tools. The goal of COLLADA is to create a working group enabling collaboration among all the partners to standardize on the representation of all the features required by interactive applications.  
+
COLLADA is an [[XML schema]] that includes a common profile, which defines a list of features that every COLLADA partner has agreed to support. Using an XML schema enables the powerful capability of validating data, as well as the possibility of using many existing commercially available or public domain tools. The goal for COLLADA is to create a working group that enables collaboration among all the partners to standardize the representation of all features required by interactive applications.  
+
 
Currently, the [[COLLADA DOM]] includes the source code for loading and saving the data and helps integrate COLLADA support into applications. This code is available as open source. In addition, this API introduces the capability of using a database system, rather than a simple file, to store the data, thus giving additional flexibility, such as database queries and asset management.  
+
The representation of each asset or related assets can be stored in a COLLADA document as elements defined by the COLLADA schema.
 
   
 
   
 +
To help integrate support for COLLADA into applications, the [[COLLADA DOM]] API includes source code for loading and saving data. This code is available as open source. In addition, this API introduces the capability of using a database system, rather than a simple file, to store asset data, thus giving additional flexibility, such as database queries and asset management.
 +
 
===Why develop a new format?===
 
===Why develop a new format?===
We did not take lightly the burden of introducing another file format. Before the decision was made to start the COLLADA project, we looked at all the existing formats and decided that, unfortunately, we needed to create a new one that would have a chance to become a standard. Let’s use the example you are mentioningok at the arguments: {{editor|what=this sentence was garbled in original FAQ; what should it be?}}
+
The COLLADA team did not take lightly the burden of introducing another file format. Before the decision was made to start the COLLADA project, the team looked at all the existing formats and decided that, unfortunately, we needed to create a new one that would have a chance to become a standard.  
 
   
 
   
Most existing formats are not open formats and have not been designed by a working group, but by a single company. That is a problem: Will all other companies agree to support a format that they have not participated in designing? But most importantly, what would happen if that one company disappears or decides to prioritize their support for different tools?  
+
Most existing formats are not open formats and have not been designed by a working group, but by a single company. That is a problem: Will all other companies agree to support a format that they have not participated in designing? But most importantly, what would happen if that one company were to disappear or decide to prioritize their support for different tools?  
 
   
 
   
 
The main existing interchange technologies are not designed as a language, but rather as APIs (available under a license on a limited number of platforms).  This enables data to be exchanged among applications that have licensed the technology, but it does not help at all to liberate the data from proprietary formats. How can one risk having one's vital assets stored in a format that one does not have sufficient control over, including the exact specifications for?  
 
The main existing interchange technologies are not designed as a language, but rather as APIs (available under a license on a limited number of platforms).  This enables data to be exchanged among applications that have licensed the technology, but it does not help at all to liberate the data from proprietary formats. How can one risk having one's vital assets stored in a format that one does not have sufficient control over, including the exact specifications for?  
 
   
 
   
What happened to Kaydara (being acquired by Alias) and then Alias (being acquired by Autodesk) should remind everyone of the risks of using proprietary formats, and all of us should be asking for COLLADA to be widely supported by all DCC companies and different tool makers.
+
What happened to Kaydara (being acquired by Alias) and then Alias (being acquired by Autodesk) should remind everyone of the risks of using proprietary formats, and all of us should keep asking for COLLADA to be widely supported by all [[DCC]] companies and different tool makers.
  
 
=== What tools and companies support COLLADA?===
 
=== What tools and companies support COLLADA?===
COLLADA is already available in many DCC tools and utilities, our constantly growing list is available [[Portal:Products directory|here]]!
+
COLLADA is already available in many [[DCC]] tools and utilities. Read our constantly growing list in our [[Portal:Products directory|Products directory]].
 
   
 
   
Even better, source code is available for many of these COLLADA plug-ins and tools. Many importers and exporters are written and supported directly by the DCC tool vendors. Although we encourage the use of the MIT-license, please check licensing for the given exporter.
+
Even better, source code is available for many of these COLLADA plug-ins and tools. Many importers and exporters are written and supported directly by the DCC tool vendors. Although we encourage the use of the [[MIT license]], please check licensing for the specific exporter.
  
Major supporters of COLLADA include Sony Computer Entertainment, NVIDIA, ATI, Softimage, Autodesk, Google and Intel.  A number of game engines also support COLLADA including OGRE, C4, AgentFX, Multiverse, PhyreEngine and CryEngine.
+
Major supporters of COLLADA include [[Sony Computer Entertainment]], [[NVIDIA]], [[ATI]], [[Softimage]], [[Autodesk]], [[Google]], and [[Intel]].  A number of game engines also support COLLADA, including [[OGRE]], [[C4 Engine]], [[AgentFX]], [[Multiverse]], [[PhyreEngine]], and [[CryEngine]].
  
 
=== What are the major features of this format?===
 
=== What are the major features of this format?===
We have defined the COLLADA schema and its COMMON profile. The schema defines the XML elements and attributes that enable COLLADA to represent many features using these XML building blocks. The COLLADA 1.4.x feature set includes:  
+
The COLLADA schema defines the XML elements and attributes that enable COLLADA to represent many features using these XML building blocks. The COLLADA 1.4.x feature set includes:  
 
   
 
   
* Mesh Geometry
+
* Mesh geometry
 
* Transform hierarchy (rotation, translation, shear, scale, matrix)  
 
* Transform hierarchy (rotation, translation, shear, scale, matrix)  
 
* Effects  
 
* Effects  
Line 59: Line 60:
 
* Animation  
 
* Animation  
 
* Physics (rigid bodies, constraints, rag dolls, collision, volumes)  
 
* Physics (rigid bodies, constraints, rag dolls, collision, volumes)  
* Instancing
+
* Instantiation
 
* Techniques   
 
* Techniques   
 
* Multirepresentations   
 
* Multirepresentations   
 
* Assets  
 
* Assets  
 
* User data
 
* User data
 +
 +
COLLADA 1.5.x adds:
 +
* Kinematics
 +
* Boundary representations (B-reps)
 +
* Geographic coverage
 +
* Custom image initialization
 +
* Math formulas
 +
* GLES2 shaders
 
   
 
   
 
Additionally, the COMMON profile is the superset of all the common features that COLLADA supports across domains. At a minimum, all COLLADA-compatible tools need to be able to load and store such data, even if a given tool is not using the data.  
 
Additionally, the COMMON profile is the superset of all the common features that COLLADA supports across domains. At a minimum, all COLLADA-compatible tools need to be able to load and store such data, even if a given tool is not using the data.  
 
   
 
   
Extensions are grouped into vendor- or application-specific technique profiles and are used for describing features where their design is not yet validated, but early exposure is desired.  
+
Extensions are grouped into vendor- or application-specific technique profiles and are used for describing features where their design is not yet validated for COLLADA, but early exposure is desired.
+
 
 
=== What features are supported by the partner implementations?===
 
=== What features are supported by the partner implementations?===
There is, unfortunatly, a difference between what the format can handle and what is supported by the exporters and importers provided by the partners. [[The Khronos Group]] is working to provide a conformance test for COLLADA adopters to make it easier for developers to know what comforming implementations support.
+
There is, unfortunately, a difference between what the COLLADA format can handle and what is supported by the exporters and importers provided by the partners. [[The Khronos Group]] is working to provide a [[conformance test]] for COLLADA adopters to make it easier for developers to know what is supported by conforming implementations.  
 
In addition, the format is extensible by nature. One can use the same COLLADA schema to represent additional information that is not something that the team had in mind when designing the schema. Of course, it is also possible to extend the schema if one needs to do so.  
 
 
   
 
   
 +
In addition, the format is extensible by nature. One can use the same COLLADA schema to represent additional information that was not considered by the team when designing the schema. The team can also extend the schema as needed.
 +
 
=== Is COLLADA Open Source?===
 
=== Is COLLADA Open Source?===
 
The [http://www.khronos.org/collada COLLADA schema and specification] are freely available from [[The Khronos Group]].  
 
The [http://www.khronos.org/collada COLLADA schema and specification] are freely available from [[The Khronos Group]].  
 
   
 
   
The COLLADA DOM uses the [[SCEA Shared Source License]], allowing usage in commercial and noncommercial applications, without restrictions. Some partners are releasing their import/export source code using the MIT license, some have more restricted licenses, but all the code is available for download.  
+
The COLLADA DOM uses the [[SCEA Shared Source License]], allowing usage in commercial and noncommercial applications, without restrictions. Some partners are releasing their import/export source code using the [[MIT license]], some have more restricted licenses, but all the code is available for download.
+
 
 
===How does COLLADA help developers?===
 
===How does COLLADA help developers?===
Without COLLADA, every developer has to create their own exporters to extract the data from the tools that artists are using. This data is then repurposed for their game engines. This industry practice replicates the cost of data interchange within every development company.  
+
Without COLLADA, every developer has to create individual exporters to extract the data from the tools that artists are using. Developers then repurpose this data for their own game engines. This industry practice replicates the cost of data interchange within every development company.  
 
   
 
   
 
With the increased data complexity expected from developers and periodic updates of the tools, this task is becoming increasingly difficult and resource consuming.  
 
With the increased data complexity expected from developers and periodic updates of the tools, this task is becoming increasingly difficult and resource consuming.  
 
   
 
   
With COLLADA, we wanted to simplify this process. Developers can directly use the exporters that are provided by the tool vendors. These are not only maintained by the people who know the most of their tools, but they are also readily available with the new releases. Upgrading to the latest art packages will become easier on application developers, which translates into saving time and money.
+
With COLLADA, we wanted to simplify this process. Developers can directly use the COLLADA exporters that are provided by the tool vendors. These are not only maintained by the people who know the most about their tools, but they are also readily available with the new releases. Upgrading to the latest art packages will become easier for application developers, which translates into saving time and money.  
 
In addition, COLLADA provides an import path back to the modeler, so it is now possible to create a variety of tools that can interact with the data outside the modelers.  
 
 
   
 
   
 +
In addition, COLLADA provides an import path back to the modeler, so it is now possible to create a variety of tools that can interact with the data outside the modelers.
 +
 
===MPEG 4 and X3D are standards in 3D (using XML); will COLLADA provide interchange with those formats?===
 
===MPEG 4 and X3D are standards in 3D (using XML); will COLLADA provide interchange with those formats?===
 
   
 
   
We will probably see in the future more and more tools that transform COLLADA into various other formats. Some companies have already  expressed their interest in producing such conversion tools. ''(update: COLLADA-to-X3D conversion tools are now available].)''
+
We will probably see more tools that transform COLLADA into various other formats. Some companies have already  expressed their interest in producing such conversion tools. ''(update: COLLADA-to-X3D conversion tools are now available].)''
  
 
===How can I participate in the design of COLLADA?===
 
===How can I participate in the design of COLLADA?===
Line 103: Line 112:
  
 
===Is COLLADA devoted only to the video game industry?===
 
===Is COLLADA devoted only to the video game industry?===
COLLADA is focusing on providing solutions for interactive applications, which of course includes the game industry. It can also be used in the movie industry for previsualization tools and asset management (such as motion tracking), also in real-time visual systems and other interactive applications, such as [[Google Earth]].
+
COLLADA is focusing on providing solutions for interactive applications, which of course includes the game industry. It can also be used in the movie industry for previsualization tools and asset management (such as motion tracking), in real-time visual systems and other interactive applications (such as [[Google Earth]]), and in automation (with kinematics and B-reps).
  
 
===Is COLLADA multiplatform?===
 
===Is COLLADA multiplatform?===
Line 118: Line 127:
 
===How do I enable COLLADA in my art package?===
 
===How do I enable COLLADA in my art package?===
  
Some art tools have COLLADA built-in and some add it by installing a plug-in.  Autodesk 3ds Max and Autodesk Maya have open source plug-ins available on [http://sourceforge.net/project/platformdownload.php?group_id=136478 Sourceforge.net] (use the 3.05 versions for production work and the "next gen" versions for testing)  Softimage XSI has COLLADA support in their Crosswalk plugin which can be downloaded from the [http://softimage.com/ Softimage site.]
+
Some art tools have COLLADA built in and some add it by installing a plug-in. Check with your tool's manufacturer or check our [[Portal:Products directory|Products directory]].  Autodesk [[3ds Max]] and Autodesk [[Maya]] have open-source plug-ins available on [http://sourceforge.net/project/platformdownload.php?group_id=136478 Sourceforge.net] (use the 3.05 versions for production work and the "next gen" versions for testing). Softimage XSI has COLLADA support in their [[Crosswalk]] plug-in, which can be downloaded from the [http://softimage.com/ Softimage site.]
 +
 
 +
===Is it safe to manually edit a COLLADA document?===
 +
Yes.  Since COLLADA is XML, all COLLADA documents are in human-readable text. Any XML editor or normal text editor can be used to edit a COLLADA document.  It is recommended that you always validate COLLADA documents after manually editing them to insure that no mistakes were made.
 +
 
 +
===How can I make sure that my COLLADA document's content is valid?===
 +
The easiest way is to use the [[COLLADA Coherency Test]].  There are prebuilt command-line versions of this program and source code available at [http://sourceforge.net/project/showfiles.php?group_id=178682 Sourceforge.net].  The Coherency Test runs an XML schema validation and then examines the document for other common errors that schema validation alone will not find.
 +
 
 +
Schema validation can also be done by other tools; see [[schema validation]].
 +
 
 +
===Is there any sample code that shows how to load and render a COLLADA document?===
 +
The [[Portal:COLLADA DOM|COLLADA DOM]] package contains a simple COLLADA Viewer application that loads COLLADA documents and renders them using Open GL.  The Viewer application can be built for almost any platform with Open GL including Windows, Mac, Linux, and PlayStation 3.
 +
 
 +
===What is the COLLADA DOM and how do I use it?===
 +
See [[Portal:COLLADA DOM]].
  
 
===How do accessors work?===
 
===How do accessors work?===
 
See [[Using accessors]].
 
See [[Using accessors]].
  
===How do you represent skinning in COLLADA?===
+
===How do I represent skinning in COLLADA?===
 
See [[Skinning]].
 
See [[Skinning]].
 
===How can I make sure my COLLADA document's content is valid?===
 
The easiest way is to use the COLLADA Coherency Test.  There are pre-built command line versions of this program and source code available at [http://sourceforge.net/project/showfiles.php?group_id=178682 Sourceforge.net]  The Coherency Test runs an XML schema validation and then examines the document for other common errors that schema validation alone will not find.
 
 
Schema validation can also be done by other tools, to find out how see [[Schema validation]].
 
  
 
===How do I correctly reference external documents from within a COLLADA document?===
 
===How do I correctly reference external documents from within a COLLADA document?===
 
See [[Using URIs in COLLADA]].
 
See [[Using URIs in COLLADA]].
  
===What is the COLLADA DOM and how do I use it?===
+
==More questions and answers==
See [[Portal:COLLADA DOM]].
+
* [https://collada.org/public_forum/ COLLADA public forums] to ask questions and read others' questions and answers.
 +
* [http://www.3d-test.com/interviews/collada_1.htm 3d-test.com Q&A about COLLADA].
 +
 
 +
[[Category:Help]][[Category:Top level]]

Latest revision as of 01:27, 3 December 2008

Welcome to the COLLADA Frequently Asked Questions (FAQ)
(This FAQ is about COLLADA, not about this wiki--see the Wiki FAQ or wiki help desk.)
You can post a new question with an answer using the following link:
  • Include a concise question as the subject.
  • Include the answer below the subject.
  • Provide links when available--wikilinks to related articles in this wiki, or link to an online resource.
  • For long answers, create a new article and link to it from here.

About COLLADA

What is COLLADA?

COLLADA stands for COLLAborative Design Activity. Development of the standard is currently managed through The Khronos Group.

Where is more info about getting started with COLLADA?

What are the benefits of using COLLADA?

Previously, art assets created in one package were incompatible with other packages. You could not create an asset in one package and then use a different package to modify that asset. Developers had to write custom exporters and importers for each package, and freelancers were often forced to use the same package when contributing content to a project.

By having a standard format that is supported by many packages, it becomes possible to exchange assets among packages and to have greater flexibility in choosing the right tool for the job. A standard format also enables art assets to be easily formatted into compatible data regardless of which package they were created with.

COLLADA is also an extendable format, so you are not limited in any way by the features supported by COLLADA’s current format.

Is COLLADA "only" a new file format?

COLLADA is an XML schema that includes a common profile, which defines a list of features that every COLLADA partner has agreed to support. Using an XML schema enables the powerful capability of validating data, as well as the possibility of using many existing commercially available or public domain tools. The goal for COLLADA is to create a working group that enables collaboration among all the partners to standardize the representation of all features required by interactive applications.

The representation of each asset or related assets can be stored in a COLLADA document as elements defined by the COLLADA schema.

To help integrate support for COLLADA into applications, the COLLADA DOM API includes source code for loading and saving data. This code is available as open source. In addition, this API introduces the capability of using a database system, rather than a simple file, to store asset data, thus giving additional flexibility, such as database queries and asset management.

Why develop a new format?

The COLLADA team did not take lightly the burden of introducing another file format. Before the decision was made to start the COLLADA project, the team looked at all the existing formats and decided that, unfortunately, we needed to create a new one that would have a chance to become a standard.

Most existing formats are not open formats and have not been designed by a working group, but by a single company. That is a problem: Will all other companies agree to support a format that they have not participated in designing? But most importantly, what would happen if that one company were to disappear or decide to prioritize their support for different tools?

The main existing interchange technologies are not designed as a language, but rather as APIs (available under a license on a limited number of platforms). This enables data to be exchanged among applications that have licensed the technology, but it does not help at all to liberate the data from proprietary formats. How can one risk having one's vital assets stored in a format that one does not have sufficient control over, including the exact specifications for?

What happened to Kaydara (being acquired by Alias) and then Alias (being acquired by Autodesk) should remind everyone of the risks of using proprietary formats, and all of us should keep asking for COLLADA to be widely supported by all DCC companies and different tool makers.

What tools and companies support COLLADA?

COLLADA is already available in many DCC tools and utilities. Read our constantly growing list in our Products directory.

Even better, source code is available for many of these COLLADA plug-ins and tools. Many importers and exporters are written and supported directly by the DCC tool vendors. Although we encourage the use of the MIT license, please check licensing for the specific exporter.

Major supporters of COLLADA include Sony Computer Entertainment, NVIDIA, ATI, Softimage, Autodesk, Google, and Intel. A number of game engines also support COLLADA, including OGRE, C4 Engine, AgentFX, Multiverse, PhyreEngine, and CryEngine.

What are the major features of this format?

The COLLADA schema defines the XML elements and attributes that enable COLLADA to represent many features using these XML building blocks. The COLLADA 1.4.x feature set includes:

  • Mesh geometry
  • Transform hierarchy (rotation, translation, shear, scale, matrix)
  • Effects
  • Shaders (Cg, GLSL, GLES)
  • Materials
  • Textures
  • Lights
  • Cameras
  • Skinning
  • Animation
  • Physics (rigid bodies, constraints, rag dolls, collision, volumes)
  • Instantiation
  • Techniques
  • Multirepresentations
  • Assets
  • User data

COLLADA 1.5.x adds:

  • Kinematics
  • Boundary representations (B-reps)
  • Geographic coverage
  • Custom image initialization
  • Math formulas
  • GLES2 shaders

Additionally, the COMMON profile is the superset of all the common features that COLLADA supports across domains. At a minimum, all COLLADA-compatible tools need to be able to load and store such data, even if a given tool is not using the data.

Extensions are grouped into vendor- or application-specific technique profiles and are used for describing features where their design is not yet validated for COLLADA, but early exposure is desired.

What features are supported by the partner implementations?

There is, unfortunately, a difference between what the COLLADA format can handle and what is supported by the exporters and importers provided by the partners. The Khronos Group is working to provide a conformance test for COLLADA adopters to make it easier for developers to know what is supported by conforming implementations.

In addition, the format is extensible by nature. One can use the same COLLADA schema to represent additional information that was not considered by the team when designing the schema. The team can also extend the schema as needed.

Is COLLADA Open Source?

The COLLADA schema and specification are freely available from The Khronos Group.

The COLLADA DOM uses the SCEA Shared Source License, allowing usage in commercial and noncommercial applications, without restrictions. Some partners are releasing their import/export source code using the MIT license, some have more restricted licenses, but all the code is available for download.

How does COLLADA help developers?

Without COLLADA, every developer has to create individual exporters to extract the data from the tools that artists are using. Developers then repurpose this data for their own game engines. This industry practice replicates the cost of data interchange within every development company.

With the increased data complexity expected from developers and periodic updates of the tools, this task is becoming increasingly difficult and resource consuming.

With COLLADA, we wanted to simplify this process. Developers can directly use the COLLADA exporters that are provided by the tool vendors. These are not only maintained by the people who know the most about their tools, but they are also readily available with the new releases. Upgrading to the latest art packages will become easier for application developers, which translates into saving time and money.

In addition, COLLADA provides an import path back to the modeler, so it is now possible to create a variety of tools that can interact with the data outside the modelers.

MPEG 4 and X3D are standards in 3D (using XML); will COLLADA provide interchange with those formats?

We will probably see more tools that transform COLLADA into various other formats. Some companies have already expressed their interest in producing such conversion tools. (update: COLLADA-to-X3D conversion tools are now available].)

How can I participate in the design of COLLADA?

Participating in the design of COLLADA requires contributor membership in The Khronos Group.

COLLADA and Game Development

Does COLLADA compete with middleware?

We view COLLADA as a complementary technology, not competitive. COLLADA enables different middleware and tools to communicate with one another.

Is COLLADA devoted only to the video game industry?

COLLADA is focusing on providing solutions for interactive applications, which of course includes the game industry. It can also be used in the movie industry for previsualization tools and asset management (such as motion tracking), in real-time visual systems and other interactive applications (such as Google Earth), and in automation (with kinematics and B-reps).

Is COLLADA multiplatform?

COLLADA is not platform specific. It is publicly available and not restricted in any way. Our initiative is to make content creation easier for every developer on any platform. It is part of our strategy to help elevate the interactive entertainment industry to a next level of productivity.

Do PlayStation 3 developers use COLLADA?

The COLLADA feature set makes it a good basis for PlayStation 3 content creation. Many developers are currently using COLLADA to develop content for this next-generation platform.

Are COLLADA documents included as part of games?

COLLADA is not designed to be used as a final game format. COLLADA allows 3D content to be created in any 3D package, exported to COLLADA format and edited with a variety of tools from different vendors. Once the content is finalized, it is usually processed into whatever format is most efficient for the game engine and hardware platform being used.

Using COLLADA

How do I enable COLLADA in my art package?

Some art tools have COLLADA built in and some add it by installing a plug-in. Check with your tool's manufacturer or check our Products directory. Autodesk 3ds Max and Autodesk Maya have open-source plug-ins available on Sourceforge.net (use the 3.05 versions for production work and the "next gen" versions for testing). Softimage XSI has COLLADA support in their Crosswalk plug-in, which can be downloaded from the Softimage site.

Is it safe to manually edit a COLLADA document?

Yes. Since COLLADA is XML, all COLLADA documents are in human-readable text. Any XML editor or normal text editor can be used to edit a COLLADA document. It is recommended that you always validate COLLADA documents after manually editing them to insure that no mistakes were made.

How can I make sure that my COLLADA document's content is valid?

The easiest way is to use the COLLADA Coherency Test. There are prebuilt command-line versions of this program and source code available at Sourceforge.net. The Coherency Test runs an XML schema validation and then examines the document for other common errors that schema validation alone will not find.

Schema validation can also be done by other tools; see schema validation.

Is there any sample code that shows how to load and render a COLLADA document?

The COLLADA DOM package contains a simple COLLADA Viewer application that loads COLLADA documents and renders them using Open GL. The Viewer application can be built for almost any platform with Open GL including Windows, Mac, Linux, and PlayStation 3.

What is the COLLADA DOM and how do I use it?

See Portal:COLLADA DOM.

How do accessors work?

See Using accessors.

How do I represent skinning in COLLADA?

See Skinning.

How do I correctly reference external documents from within a COLLADA document?

See Using URIs in COLLADA.

More questions and answers