COLLADA

COLLADAは、対話型3次元コンピュータグラフィックスアプリケーション間の交換用ファイルフォーマット。"COLLAborative Design Activity" の略。非営利技術コンソーシアムのクロノス・グループが管理している。

COLLADAは、本来ならそれぞれ非互換なファイルフォーマットでデジタル資産を格納している各種グラフィックスアプリケーションソフトウェアの間で、デジタル資産を交換するためのオープン標準の XML Schema を定義している。デジタル資産を記述したCOLLADA文書はXMLファイルであり、通常は拡張子として .dae (digital asset exchange) を付与する。

歴史 
元々は、ソニー・コンピュータエンタテインメントがPlayStation 3とPlayStation Portable向けの開発用公式フォーマットとして策定した。その後、業界団体のクロノス・グループが管理し、ソニーと著作権を共有するようになっている。いくつかのグラフィックス企業がCOLLADA策定当初からソニーと共同でツールの開発に取り組み、その後もクロノス参加企業の努力によってCOLLADAの推進が続いている。初期の協業企業としては、、クライテリオン・ソフトウェア、オートデスク、アビッド・テクノロジーなどがある。多数の商用ゲームスタジオとゲームエンジンがCOLLADAを採用している。

ツールと互換性 
COLLADAは、本来はデジタルコンテンツ制作 (DCC) ツール間でデータをやり取りするための交換用フォーマットを意図していた。いくつかのDCCツールにはそのためのアプリケーションが存在している。例えば、Maya向けのColladaMaya、3ds Max 向けのColladaMax、Poser（v7.0で組み込み）、LightWave 3D（v9.5で組み込み）、Cinema 4D、Softimage|XSI、Houdini、MeshLab、SketchUp、Blender、modo、Strata 3D などがある。Adobe Photoshop はバージョンCS3からCOLLADAの .dae ファイルを扱える。Unreal Engineなどのゲームエンジンもこのフォーマットを採用している。

2つのオープンソースのユーティリティライブラリ、COLLADA DOM とFColladaで、COLLADA文書の単純なインポートとエクスポートが可能である。COLLADA DOM はCOLLADAスキーマからコンパイル時に生成される。パーサを手で書く手間を省く程度のインタフェースを提供するが、1つのバージョンのCOLLADAしか読み書きできず、新バージョンへのアップグレードが難しい。対照的に、FCollada（Feeling Software 製）はより高度なインタフェースを提供し、あらゆるバージョンのCOLLADAをインポート可能である。FColladaは、ClladaMaya、ColladaMax、いくつかの商用ゲームエンジンで使われている。

いくつかのアプリケーションはCOLLADAをネイティブなフォーマットとして採用しているし、複数の入力フォーマットのひとつにしているものもある。Google Earth（リリース4）は、COLLADA (1.4) をネイティブなフォーマットとして採用し、地球上の各種オブジェクトの記述に使っている。ユーザーはCOLLADA (.dae) ファイルをバーチャルな地球の上にドラッグ・アンド・ドロップするだけでよい。一方 Google SketchUp Pro は .kmz ファイルを生成できる。これはKMLファイルやCOLLADA (.dae) ファイル、全てのテクスチャイメージファイルなどを ZIP でまとめた形式である。

 MacOS上でのサポート
 Mac OS X 10.6以降、COLLADAを標準ファイルとして扱えるようになり、FinderやQuickLook、PreviewといったOS標準ツールでの簡易プレビューが可能となった。

COLLADA Physics 
バージョン1.4で、COLLADAに物理学 (Physics) サポートが追加された。これは、コンテンツ制作者が制作するシーンに様々な物理的属性を定義することを目的としている。例えば、何かの表面の材質について、摩擦係数などの属性を定義できる。さらに、シーンの中で動くオブジェクトにも物理的属性を定義することができる。その場合、視覚的表現とリンクした剛体を定義する。他にもラグドール、衝突、物理的オブジェクト間の物理的制約条件、重力などのグローバルな物理的属性といったことを記述できる。

これをサポートした物理学的なミドルウェア製品として Bullet Physics Library、Open Dynamics Engine、PAL、NVIDIAのPhysXなどがある。これらの製品はCOLLADAファイルを読み込み、その内容をそのソフトウェアの内部形式に変換し、物理的シミュレーションとして表示する。また、複数のソフトウェアの間で物理学的データを交換し同期することもできる。

PALは、COLLADA Physics をサポートしていない各種物理演算エンジン（JigLib、OpenTissue、Tokamak physics engine、True Axis など）でCOLLADAファイルを扱えるようにできる。

COLLADA FX 

バージョン1.4で、COLLADA FXのサポートが追加された。これは、XMLで書かれる最初のクロスプラットフォームな標準シェーダーおよびエフェクト定義である。

バージョン履歴 
1.0: 2004年10月
1.2: 2005年2月
1.3: 2005年6月
1.4.0: 2006年1月 - スキニングやモーフィング、剛体力学などをサポート。OpenGL ES サポート (materials)。各種シェーディング言語（Cg、GLSL、HLSL）で記述されたシェーダー効果をサポート。クロノス・グループによる最初のリリース。
1.4.1: 2006年7月 - バグ修正
1.5.0: 2008年8月 - 運動学および (B-rep) をサポート。OpenGL ES 2.0 effects profileのサポート。

関連規格 
 U3D
 X3D / VRML
 3DMLW (3D Markup Language for Web)

関連項目
コンピュータ言語
データ記述言語

脚注

外部リンク 
 公式サイト
 COLLADA サイト
 OpenCOLLADA Sourceforge Project
 ColladaLoader
 COLLADA Document Object Model (DOM)
 FCollada

ファイルフォーマット
CADファイルフォーマット
XMLベースの技術
3DCG