Difference between revisions of "COLLADA FAQ"

From COLLADA Public Wiki
Jump to navigation Jump to search
(link mit lic internally)
(→‎About COLLADA: add Getting Started link)
Line 12: Line 12:
===What is COLLADA?===
===What is COLLADA?===
[[COLLADA]] stands for COLLAborative Design Activity. Development of the standard is currently managed through [[The Khronos Group]].
[[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?===

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.


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.


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?


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