チュートリアル / fieldjamのDesignVizエッセンス
第5回:データコンバートについて

2009.09.02

  • 3ds Max
  • チュートリアル
  • データ
  • 建築・製造・広告
今回からは、BIMソフトなどの建築CADからのデータコンバートについてお話します。 製造業のDesignVizに携わっている方、ご苦労をお察ししますが、残念ながら私の専門外なので取り上げることができないことをご容赦ください。

最初に、データコンバートが必要な状況を考えてみましょう。
3ds Maxを使用している一般的なCGパース制作者は、ほぼ全ての作業を3ds Max上で行っていると思います。一方、Revit ArchitectureなどのBIM ソフトを用いているゼネコンや設計事務所でのCG制作は、そのソフトでのレンダリング結果を使用していることが多いのではないでしょうか。いまのところ、DesignVizとBIMそれぞれの業務は独立しているため、データコンバートは必要ないように思われますが、今後の両者の関係を考えた場合は無視できないポイントになります。CG制作者にとっては、BIMソフトで入力したモデルを受け取って、3ds Maxで編集し、レンダリングするという流れへの対応が考えられます。また、設計業務では、3ds Maxを導入することによって、分散レンダリングを行ってスピードアップする、市販部品集の家具や添景を配置してクオリティを上げるなどの効果が期待できます。つまり、建築におけるDesignVizの視点から考えると、3ds Maxと他の3DCGソフトとのデータコンバートではなく、BIM ソフトとの3Dデータコンバートが今後の重要な課題になってきます。

確かに、3Dデータコンバートはかなり面倒な部分です。これまでの経験上、自動化された連動性を追求し過ぎると、間違いなく破綻します。そこで第一回目として、CG制作側から見たデータコンバート、つまりBIMソフトとの連動性を無視した、一回限りの3ds Maxへのインポートについてお話します。


実用的なコンバートとは

さて、BIMソフトから3ds Maxへのコンバート状況はいろいろ考えられますが、安全性を考慮した実用的なインポート結果について考えてみましょう。

1. 形状が3ds Maxで扱いやすいように、オブジェクトとして分割されていること。

5_data-convert_01.gif

A:一般的なオフィスビルを3DSでインポート。BIMソフトからのエクスポート時に1要素=1オブジェクトの設定をしたので、オブジェクト数は約10,000。少し重いです。

5_data-convert_02.gif

B:マテリアルごとのメッシュオブジェクトにエクスポートして3ds Maxにインポートすると、オブジェクト数は33。目的にもよりますが、個人的にはこちらを採用します。




2. BIMソフトで設定したマテリアルが、オブジェクトに適用された状態でインポートされること。質感の一致は気にしない。さらに、マッピング画像がなくても構わない。

5_data-convert_03.gif 上記Bのシーンマテリアルですが、このようにマテリアルがオブジェクトに適用されていれば問題ありません。今回は、すべて標準マテリアルに変換されていますが、レンダラーに応じてインポート後に変更しましょう。


3. マッピング情報がインポートされていること。

5_data-convert_04.gif 全てのオブジェクトにチェックマップを適用したマテリアルを与えました。このように、なんらかの形でUV情報が適用されていれば、あまり重要ではない部分について、[UVW Xフォーム]での調整などで処理できることもあるので、便利だと思います。


欲を言えばキリがないのですが、現実的にはこのような感じになるでしょう。

1については、壁/床/柱/建具などの要素別に分かれていることを指しています。もしくは、マテリアル別のオブジェクトなど、編集しやすい状態であればOKです。

2での質感の一致やマッピング画像については、一般的にBIM ソフトと3ds Maxのレンダラーが異なり、マテリアルを一致させることは困難なため、3ds Maxで再設定することが必要になります。Revit ArchitectureやAutoCADの場合は3ds Max と同様にmental rayを採用しているため、入出力形式によっては、ほぼ同じマテリアルを再現することが可能です。

3について、多くの場合、BIMソフトで入力したモデルには、3ds Maxのプリミティブ要素と同じように、自動的にUV情報が設定されています。BIM ソフト内でそれらの位置やサイズなどの変更も可能なのですが、正確に行うことは少ないケースだと思います。そのため3ds Maxで再設定することが多いのですが、できればインポートした時点で適用されていることが理想です。

その他、ライトやカメラなどの情報は、インポートできればちょっと楽かな、という程度に捉えておくべきだと思います。目的やBIMソフトにもよりますが、一般的に3ds Maxにインポートした情報で、そのまま使用できるものは形状のみです。それ以降の作業は、3ds Maxのアニメーション機能やレンダラーに依存する部分が多くなるからです。

ここでの重要なポイントは、オブジェクトとマテリアルのリンクです。この関係が壊れていると3ds Maxで再設定しなければなりませんが、ミスが起きる可能性と二度手間になるという点から、この作業は行いたくないものです。つまり、安全で実用的という観点から、このポイントは押さえておかなければなりません。


ファイル形式について

それでは、どのファイル形式を用いれば良いでしょうか?3ds Maxは数多くの3Dファイル形式に対応していますが、BIMソフトとの連携を考えた場合、選択肢は絞られてくるので、先述の実用的なインポート結果を満たすことができる主なものをまとめておきます。3ds Maxが対応していても、書き出し側が対応していないこともあるので検証が必要です。

ファイル形式 注意点
DWG/DXF ver.2004以降からマテリアルに対応。AutoCADやRevitであれば、3ds Maxの建築向けマテリアルとして出力できるので、互換性は高い。
3DS 多くのCADが対応しており、互換性も高い。形状やマテリアルだけでなく、光源、カメラなどにも対応可能。
OBJ 日本語の使用は不可。OBJファイルでは、一般的な3D ソフトでのZ軸とY軸が入れ替わっている点に注意。
FBX Autodesk社が提唱している汎用3Dファイル形式。出力側がこの形式に対応していれば、最初に試してみましょう。



インポート後のシーン整理

インポートしたままでは、見づらく扱いにくい状況がほとんどでしょう。良くある問題と解決法を挙げてみます。

・単位が合っていない
5_data-convert_05.gif 例えば、ミリメートルで作業したいのにインポートデータがメートルだった場合、その解決方法を示します。
単位がメートルのものをシステム単位 がミリメートルの新規ファイルにインポート。赤いボックスはサイズが1(システム単位)で基点が原点のものを3ds Maxで作成しました。

解決方法A

5_data-convert_06.gif
原点のボックスを変換基点として、全てのオブジェクトを1,000倍します。こうすることで、スケールによって変な位置に移動することを防ぎます。
5_data-convert_07.gif
さらに、すべてのオブジェクトのXフォームをリセットします。続いてメッシュオブジェクトなどに変換し、モディファイヤを空にします。


解決方法B

5_data-convert_08.gif
システム単位を[メートル]にし、ディスプレイ単位を[ミリメー トル]に設定します。
5_data-convert_09.gif
簡単ですが、システム単位をメートルで保存することには抵抗があります。


解決方法C

5_data-convert_09.gif
システム単位を[メートル]にし、ディスプレイ単位を[標準設定]のままで、一旦保存します。
 
 
 
5_data-convert_10.gif
その後、[単位設定]を開いて、システム単位を[ミリメートル]、[ファイル内の...]にチェックが入っていることを確認してダイアログを閉じます。そのまま保存したファイルを開こうとすると、[単位の不一致]ダイアログが表示されるので、[...システム単位に再スケール...]を選択して開きます。これで、メートルからミリメートルに変換できます。


個人的には、Cを用いています。
Aは作業中のシーンに、家具などをうっかりインポートしてしまったときの解決法です。 Bは、システム単位がファイルによって異なってしまうことに加えて、数値の後にmmが表示されることが煩わしいので私は使いません。
インチなどの場合でも、いずれかの方法で対応可能です。


・オブジェクトが多い
例えば、壁などがひとつずつバラバラになっている場合、インポートしたデータ全体で数千から数万オブジェクトになることも少なくありません。扱いやすいように、同じマテリアルのものをアタッチするなどでまとめましょう。また、超高層ビルなどでまったく同じ基準階がある場合は、その1フロアだけを書き出して、3ds Maxでインスタンスコピーする、または外部参照を使うなどの工夫も考えられます。

・名前が分かりにくい
文字化けや、[obj0001]などのように自動的に名前が割り当てられているなどの状況があります。[ツール]/[オブジェクトの名前を変更]を使用して整理しましょう。

5_data-convert_11.gif 自分でリネームツールを作って対応していたので、こういうものがあったことを、最近まで知りませんでした。ちょっと後悔しています。



・同じ名前のオブジェクト/マテリアルが存在する
3ds Maxは同名オブジェクト/マテリアルを基本的に許可していません。しかし、インポートにおいてはこのチェックを行わないので、同名オブジェクト/マテリアルが存在してしまう現象が起こる場合があります。シーンに追加でインポートしたい場合は、一度空のファイルにインポートしてmaxファイルとして保存し、それを合成しようとすると確認を求めてくるので、そのような状況を回避できます。

・マテリアルが割り当てられていないオブジェクトがある
[シーンから選択]ウインドウで[マテリアルを含む]カラムを表示すれば、確認できます。
5_data-convert_12.gif カラムには、いろいろなものが用意されているので、よく考えて設定すると結構便利です。さて、このダイアログは昔に比べて多機能になったので、動作が重くなってしまったのが残念ですが、カラムを少なくするなどの工夫をすると、多少は軽くなると思います。

・オブジェクトのワイヤカラーが同じ
レイヤ分けをして、オブジェクトのワイヤカラーをレイヤ依存にするなどで整理します。

・全てのエッジが表示されている
メッシュ編集/エッジ編集モード/[自動エッジ]を用いて表示を簡略化するなどで、ある程度解消できます。


今回のおまけツール

シーン整理は、同じことの繰り返しが多いのでツールで自動化すると便利です。そこで、今回のおまけとして、MaxScriptで作成したツールを用意しました。

5_data-convert_13.gif 自動レイヤ分け、ポリゴンの境界エッジ以外を出来るだけ非表示にする、などが可能なので、是非使ってみてください。ただし、このツールを使用した不具合に関する責任は持ちませんのでご了承ください。
>>おまけツールのダウンロード(zipファイル/34kb)


さて、次回からはRevit Architecture と Graphisoft社のArchiCAD、2つのBIMソフトと3ds Maxの併用について、連動性を考慮しながら個別に解説していきたいと思います。

製品購入に関するお問い合わせ
オートデスク メディア&エンターテインメント 製品のご購入に関してご連絡を希望される場合は、こちらからお問い合わせください。