COLLADAとは
COLLADA(COLLAborative Design Activity)は、3Dコンピュータグラフィックスアプリケーション間でデータを交換するための
ファイルフォーマットです。異なるソフトウェア間でデジタルアセットをやり取りする際の互換性を保つことを目的としています。このフォーマットは、非営利技術
コンソーシアムである
クロノス・グループによって管理されています。
COLLADAは、本来であれば互換性のないファイル形式でデジタルアセットを保存する様々なグラフィックスアプリケーション間で、デジタルアセットを交換するための
オープン標準XMLスキーマを定義します。COLLADA文書はXMLファイルとして記述され、通常は
拡張子.dae(digital asset exchange)が付与されます。
歴史
COLLADAは、もともとソニー・コンピュータエンタテインメントが
PlayStation 3および
PlayStation Portableの開発用公式フォーマットとして策定しました。その後、業界団体の
クロノス・グループが管理を引き継ぎ、ソニーと著作権を共有する形となっています。多くのグラフィックス企業が初期段階からツールの開発に協力し、クロノス参加企業も推進活動を継続しています。初期の協業企業には、エイリアス・システムズ、クライテリオン・ソフトウェア、
オートデスク、
アビッド・テクノロジーなどが含まれます。現在では、多くの商用ゲームスタジオやゲームエンジンがCOLLADAを採用しています。
ツールと互換性
COLLADAは、主にデジタルコンテンツ制作(DCC)ツール間でデータ交換を行うことを目的としています。多くのDCCツールには、COLLADAファイルを扱うためのプラグインが用意されています。例えば、
Maya向けのCollada
Maya、
3ds Max向けのColladaMaxなどがあります。その他にもPoser、
LightWave 3D、Cinema 4D、Softimage|XSI、
Houdini、MeshLab、
SketchUp、
Blender、modo、
Strata 3Dなどが対応しています。Adobe PhotoshopもバージョンCS3からCOLLADA(.dae)ファイルの読み込みに対応しています。さらに、Unreal Engineをはじめとするゲームエンジンもこのフォーマットをサポートしています。
COLLADA文書のインポートとエクスポートを容易にするために、COLLADA DOMとFColladaという2つのオープンソースユーティリティライブラリが提供されています。COLLADA DOMは、COLLADAスキーマからコンパイル時に生成されるライブラリで、パーサーを手作業で記述する手間を省きます。ただし、特定のバージョンのCOLLADAしかサポートしていないため、新しいバージョンへの対応が難しいという課題があります。一方、FColladaはより高度なインターフェースを提供し、あらゆるバージョンのCOLLADAをインポートできるため、柔軟性が高いと言えます。FColladaはCollada
Maya、ColladaMax、一部の商用ゲームエンジンで使用されています。
また、COLLADAをネイティブフォーマットとして採用するアプリケーションや、複数の入力フォーマットの一つとして扱うアプリケーションも存在します。
Google EarthはCOLLADA(1.4)をネイティブフォーマットとして採用しており、地球上のオブジェクトを表現するのに利用されています。ユーザーはCOLLADA(.dae)ファイルをドラッグ&ドロップするだけで、バーチャル地球上にオブジェクトを配置できます。一方、Google
SketchUp Proは、
KMLファイル、COLLADA(.dae)ファイル、テクスチャ画像をまとめた.kmzファイルを生成できます。
macOSでのサポート
macOS 10.6以降では、COLLADAが標準ファイルとして扱われるようになり、Finder、QuickLook、PreviewなどのOS標準ツールで簡易プレビューが可能になりました。
COLLADA Physics
バージョン1.4では、物理演算(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