CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【Blender 3.3】COLLADA(.dae)ファイルのインポート/エクスポートまとめ

こんにちは!
コチラの記事では、フリーの3DCGソフト「Blender」を使う上でのヒントになる情報を発信しています。
今回は、3DCGのファイル形式の一つである「COLLADAファイル(.dae)」のインポート・エクスポートの方法をまとめてみました。
COLLADAを使うことで、他の3DCGソフトや、AR/VRソフトとモデルデータを共有出来るようになるので、やり方を紹介していきます。
Collada(.daeファイル)とは?
“COLLADA and the COLLADA logo are trademarks of the Khronos Group Inc.”
Khronos Group – https://www.khronos.org/legal/trademarks/
COLLADAは、さまざまな3DCGソフト・アプリケーションの間でデータをやり取りするのに使われているファイルフォーマットです。
元々Play Station 3とPlay Station Portableの開発用公式フォーマットとして策定され、その後さまざまな3DCGソフトとデータを共有するために使われるようになったそうです(詳しくはコチラのWikipediaの記事を参照してください)。
COLLADAの特徴として、モデルのポリゴンデータだけでなくエフェクトやテクスチャ・ライティング要素・リグ情報・アニメーションなどを追加することができます。

対応ソフト
Blenderだけでなく、Adobe Photoshop, Autodesk 3ds Max, Sletchupなどさまざまなソフトウェアでサポートされています(詳しくはコチラの記事を参照してください)。

また、コチラの記事で紹介されているように、AR/VRソフトウェアの「ARKit」(Apple OS向け)などでCOLLADAモデルを読み込むことで、3Dモデルを実在する風景に表示させることができます。
「ARKit を使って 3D モデルを AR で表示してみた」
URL https://community.esri.com/t5/arcgis-%E9%96%8B%E7%99%BA%E8%80%85%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3-documents/arkit-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6-3d-%E3%83%A2%E3%83%87%E3%83%AB%E3%82%92-ar-%E3%81%A7%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/ta-p/904987

COLLADAファイルのメリット・デメリット
Adobeのサイトで、COLLADAのメリット・デメリットがまとめられているので紹介します。
COLLADAファイルのメリット
・COLLADA形式は、複数のアプリケーション間でDAEファイルを表示できるように、最初から互換性を考慮して設計されています。
・Khronos GroupがCOLLADAの仕様とスキーマを策定し無料で公開しているため、いつでも必要なときに利用できます。
・一部のベクターファイル形式と異なり、COLLADA画像の用途は数学的図表に限定されません。
3D環境の作成、ビデオゲームのデザイン、映画へのモーショントラッキングの追加など、幅広い用途に使用できます。COLLADAファイルのデメリット
・COLLADAの書き出しには時間がかかるため、時間に余裕がないときは注意が必要です。
・COLLADAは、OBJなど類似の形式よりも多くのストレージ容量を必要とします。
・DAEファイルは3Dグラフィックス用です。高品質2Dデジタル写真の保存には適していません。写真の保存には、JPEGなどのラスター形式が適しています。
出典:Adobe「COLLADAファイルについて」
URL https://www.adobe.com/jp/creativecloud/file-types/image/vector/collada-file.html
メッシュの3次元形状と色情報をエクスポートできる「objファイル」のインポート・エクスポート方法については、コチラの記事を参考にしてみてください。

ライティングやリグ情報など様々な情報を保存できる反面、容量が大きくなってしまうのが難点です。
また、後で紹介しますがマテリアルのベースカラーテクスチャはBlenderからエクスポートできますが、「ノーマルマップ」などはFBXファイルなどと違ってエクスポートできません。
さまざまなCGソフトやゲームエンジンなどで対応している「FBX」形式のファイルのインポート・エクスポート方法については、コチラの記事を参考にしてみてください。

とはいえ、さまざまな3DCGソフトウェアでサポートしているのがCOLLADAの最大のメリットです。
「Free3d」や「TurboSquid」といった3Dモデル販売サイトから、いろんなBlender以外の3DCGソフトで作られた3Dモデルを、COLLADA(.dae)形式でダウンロードできます。

「Free3d」はコチラ!
「TurboSquid」はコチラ!
Blenderにインポートする方法
まず、COLLADA(.dae)ファイルをBlenderにインポートする方法・設定について紹介します。
インポート設定
Blenderから新規ファイルを立ち上げ、「ファイル」→「インポート」→「Collada(.dae)」から、COLLADAをインポートすることができます。

「Collada(.dae)」を選択すると以下インポート設定画面が開きます。

設定項目の内容はこんな感じです(詳細は「Blenderリファレンスマニュアル」を参照してください)。
- インポートデータオプション
- 単位のインポート:チェックがOFFの場合はONにすると、読み込んだCOLLADAデータは現在使用中の単位系に従ってスケールされます。
有効化した場合は、COLLADAファイルの単位系に従ってBlenderの単位系が修正されます。
→基本的にOFFのままで大丈夫です。
- 単位のインポート:チェックがOFFの場合はONにすると、読み込んだCOLLADAデータは現在使用中の単位系に従ってスケールされます。
- アーマチュアオプション:
- リーフボーンを修正:有効化した場合、リーフボーン(複数の親を持つボーン)の向きを修正します。
→リグ(アーマチュア)を含むファイルの場合は有効にしておくことをオススメします。 - ボーンチェーンを検索:最も適したボーンチェーンを探し、チェーン内のボーンが確実に接続されるようにします。
→リグ(アーマチュア)を含むファイルの場合は有効にしておくことをオススメします。 - 自動で接続:有効化した場合、子ボーンは自動的に親に接続されます。
→リグ(アーマチュア)を含むファイルの場合は有効にしておくことをオススメします。 - 最短のチェーンの長さ:ボーンチェーンの検索時、この値未満の長さのチェーンを無視します。
→基本的にOFFのままで大丈夫です。
- リーフボーンを修正:有効化した場合、リーフボーン(複数の親を持つボーン)の向きを修正します。
- バインド情報を維持:有効化した場合、バインドポーズ情報をボーンのカスタムプロパティ内に格納し、後でCOLLADAエクスポート中に使用できるようにします。
後でCOLLADA形式でエクスポートする場合以外は、OFFのままで大丈夫です。
リグ情報を含むCOLLADAファイルの場合は、上記を参考に設定してみてください。
設定していないと、以下左のようにボーンが正しく接続されません。

上の例のモデルは「Free3d」から無料でダウンロードできます。
Blenderからエクスポートする方法
次に、BlenderからCOLLADA(.dae)ファイルをエクスポートする方法を紹介します。
エクスポート設定
トップバーの「ファイル」→「エクスポート」→「Collada(.dae)」から、Blenderで作成したモデルをCOLLADA形式ファイルとしてエクスポートすることができます。

「Collada(.dae)」を選択するとコチラのようなエクスポート設定画面が開きます。

設定項目の内容はこんな感じです(詳細は「Blenderリファレンスマニュアル」を参照してください)。
基本的に、ハイライトした箇所だけ設定しておけばOKだと思いますので、参考にしてみてください。
- オペレータープリセット:「Second Life」および「OpenSim」ソフトウェアにエクスポートする場合は、エクスポート対象に合わせて、詳細を自動で設定してくれます。
ただし、該当するソフトウェア向けのエクスポートでない場合は使用しない方が良いです。- sl + open sim rigged: 「Second Life」および「OpenSim」のリグ付きモデル用のエクスポート設定です。
- sl + open sim static: 「Second Life」および「OpenSim」の静止画モデル用のエクスポート設定です。
- オペレーターをデフォルトに復元:エクスポート設定を初期状態に戻します。
- メイン
- 選択物のみ:選択したオブジェクトのみエクスポートします。
- 子を含む:ペアレント設定された子オブジェクトもエクスポートします。
- アーマチュアを含む:オブジェクトに関連付けられたすべてのリグ(アーマチュア)がエクスポートされます。
→リグ(アーマチュア)を含むファイルの場合は有効にしておくことをオススメします。 - シェイプキーを含む:シェイプキーを含めてエクスポートします。
- グローバル方向
- 適用:有効にした場合、オブジェクトの向きをグローバル方向設定に合わせます。
- 前方の軸:エクスポートするモデルのグローバルの前方軸の向きを設定します(デフォルトY)
- 上向きの軸:エクスポートするモデルのグローバルの上方軸の向きを設定します(デフォルトZ)
- テクスチャオプション
- コピー:有効にしておくと、テクスチャペイントなどで生成したベースカラー画像が、エクスポート先に自動で保存されます。
→テクスチャ画像を使用する場合は有効にしておくことをオススメします。 - UV-選択中のマップのみ:有効にすると、選択中のUVマップのみエクスポートします。
- コピー:有効にしておくと、テクスチャペイントなどで生成したベースカラー画像が、エクスポート先に自動で保存されます。
- 形状オプション
- 三角面化:有効にすると、ポリゴン(四角面とNゴン)を三角面にしてエクスポートします。
- モディファイアーを適用:チェックを入れると、モディファイアーを適用した状態でエクスポートします。
→ミラー・サブディビジョンなどのモディファイアーを使用する場合は有効にしておくことをオススメします。
- アーマチュアオプション:リグ付きモデルをエクスポートする場合も、基本的にチェックは不要です。
- 変形ボーンのみ:有効にすると、アーマチュアと変形ボーンのみエクスポートします。
- SL/OpenSim用にエクスポート:「Second Life」および「OpenSim」ソフトウェアにエクスポートする場合の互換モードです。
- アニメーションオプション:
- アニメーションを含む:アニメーションをエクスポートします。
→アニメーションをエクスポートする場合は有効にしてください。 - キータイプ:サンプルキーとしてエクスポートするか、カーブキーとしてエクスポートするか選択します。
- スムーズカーブを維持:「カーブ」を選択した場合、ハンドルもエクスポートします。
- サンプリングレート:「サンプルキー」を使用てエクスポートする場合のサンプリングレート(キーフレーム間のフレーム数)を設定します。
- キーフレームを維持:現存のキーフレームを追加のサンプルポイントとして出力します。
- 全キー付きカーブ:カーブキーを出力する場合、1つのキーフレームのみ、または完全にフラットなカーブもエクスポートします。
- 全アクションを含む:割り当てのないアクションもエクスポートします。
→アクションをエクスポートする場合は有効にしておくことをオススメします。
- アニメーションを含む:アニメーションをエクスポートします。
- その他-Colladaオプション:基本的にデフォルトのままでOKです。
- オブジェクトインスタンスを使用:同じデータのオブジェクトをインスタンス化します。
- Blenderプロファイルを使用:Blender特有(マテリアル、シェーダー、ボーンなど)の情報もエクスポートします。
- オブジェクト名でソート:エクスポートデータをオブジェクト名でソートします。
- バインド情報を維持:バインドポーズ情報をボーンのカスタムプロパティ内に格納し、後でColladaエクスポート中に使用できるようにします。
- 制度を制限:エクスポートするデータの精度を6桁に減らします。
インポート/エクスポートがうまくできないときは?
最後に、インポート・エクスポートがうまくできない時の対処法を簡単に紹介します。
もし、以下を読んでも解決できない場合は、ぜひ一緒に対処法を確認したいと思いますので、コチラの記事にコメントをください。
半分消えている
コチラのように、インポートしたdaeファイルを読み込んだところ半分消えている、ということがあります。

これは、エクスポートする際にミラーモディファイアーを適用し忘れているのが原因と考えられます。
ミラーモディファイアーを追加することで、元のモデルを復元することができます。

Blenderからエクスポートする場合は、あらかじめモディファイアーを適用しておくか、Colladaエクスポート設定の「形状オプション→モディファイアーを適用」にチェックを入れておくことで、エクスポートしたモデルにもミラーが適用されます。

リグ/アニメーションがエクスポートできない
先ほど「エクスポート設定」で紹介したように、リグ・アニメーションをエクスポートするには以下の設定を有効にしておく必要がありますので、確認してみてください!
リグをエクスポートする:「メイン」→「アーマチュアを含む」

アニメーションをエクスポート:「アニメ」→「アニメーションを含む」「全アクションを含む」

ノーマルマップがエクスポートできない
残念ながら、BlenderからCOLLADAのエクスポートを試みたところ、エクスポートできるテクスチャはディフューズのみで、ノーマルマップや粗さなどはエクスポートできないようです。
ただし、COLLADA形式自体はノーマルマップなどに対応しているので、もしかしたら今後のBlenderのアップデートでエクスポートできるようになるかもしれませんね。

まとめ
3DCGのファイル形式の一つである「COLLADAファイル(.dae)」を、Blenderからインポート・エクスポートの方法をまとめてみましたが、いかがだったでしょうか?
正直、Blenderからのエクスポートできる情報の種類や、UnityやUnreal Engineなど他のソフトの対応状況を考慮すると、現時点ではFBXファイルの方が使い勝手が良いです。
ただし、元々他の3DCGソフトとの互換性を考慮した設計であることと、今後需要が高まりそうなAR/VRソフトでも使われていることから、今後COLLADAの活用機会が増えていく可能性は十分あると思います!
もしCOLLADAファイルをインポート・エクスポートする機会がありましたら、コチラの記事を参考にしてみていただければと思います。