COLLADA FAQ: Difference between revisions

From COLLADA Public Wiki
Jump to navigation Jump to search
Line 130: Line 130:
===Is there any sample code that shows how to load and render a COLLADA document?===
===Is there any sample code that shows how to load and render a COLLADA document?===
The [[Portal: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.
The [[Portal: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?===
Line 139: Line 142:
===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?===
See [[Portal:COLLADA DOM]].

Revision as of 23:09, 19 November 2008

Welcome to the COLLADA Frequently Asked Questions (FAQ)
If you have a COLLADA question but no answer, start at the COLLADA public forums. (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.

This list has been compiled from frequently asked questions and direct inquiries such as : 3d-test.com

About COLLADA

What is COLLADA?

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

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.

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.

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 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.

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.

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: This page needs the following improvement: this sentence was garbled in original FAQ; what should it be? ))


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?

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 tools and companies support COLLADA?

COLLADA is already available in many DCC tools and utilities, our constantly growing list is available here!

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.

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.

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:

  • 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)
  • Instancing
  • Techniques
  • Multirepresentations
  • Assets
  • User 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.

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.

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.

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 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.

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.

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 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].)

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), also in real-time visual systems and other interactive applications, such as Google Earth.

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 list here. 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 plugin which can be downloaded from the Softimage site.

Is it safe to manually edit a COLLADA document?

Yes. Since COLLADA is XML all the 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 no mistakes were made.

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 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.

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

The Portal: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 you represent skinning in COLLADA?

See Skinning.

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

See Using URIs in COLLADA.