チュートリアル / fieldjamのDesignVizエッセンス
第7回:ArchiCAD13 と3ds Max Design 2010の連携
- 3ds Max
- コラム
- チュートリアル
- データ
- 建築・製造・広告
ポイント | 3DS | OBJ |
マテリアル | 標準マテリアルとして読み込まれる | 標準マテリアルとして読み込まれる |
オブジェクト構成 | 出力時オプション設定可能 | 出力時オプション設定可能 |
レイヤー | 未対応 | 未対応 |
リンク機能 | なし | なし |
その他 | 出力オブジェクトのポリゴン数が65,535を超えると自動的に分割される
扱える名称は半角10文字まで |
レイヤ名とマテリアル名の日本語不可 |
ArchiCAD→3DS/OBJ→3ds Maxの共通事項
・すべてメッシュオブジェクトとして取り込まれる・ArchiCADの材質は標準マテリアルに変換される
・ArchiCADのUV情報はメッシュオブジェクトに焼き込まれた状態になる。サイズは1,000mm X 1,000mmで固定だが、方向と基点はArchiCADでの設定が適用される
UVに関しては詳しく見ておきましょう。
ArchiCADで1,500mmのキューブを作成しマッピング画像を適用しました。UV原点は手前下の頂点に設定しています。
3ds Maxに取り込みましたが、UVサイズが異なっています。このデータのArchiCADでのマッピング画像サイズは1,500mm角ですが、3ds Maxに取り込まれると、すべてのマッピングサイズが1,000mm角に変更されてしまいます。
解決方法は幾つか考えられますが、ここでは[UVW Xフォーム]を適用して、1,000/1,500=0.667をタイリングサイズとして設定しました。ArchiCADと同じ状況が再現されます。
3DSの特徴
ArchiCADから3DSを書き出すときには以下のオプションを用いることができます。オブジェクト構成とは、ArchiCADの要素をどのようにまとめてメッシュオブジェクトにするのかを決める部分です。オプションが下位になるに従って、オブジェクト数が少なくなっていきます。 図面単位は気をつけなければなりません。ArchiCADは3DSでの1単位をメートルとして出力するので、通常はこここの数値は[1,000]、単位系は[mm]を選択しておけばスケールが異なることなく3ds Maxに取り込むことが可能です。
その他、気をつけることとして以下のことがあります。
・オブジェクト名の判別が難しい
3DSの仕様として、オブジェクト名は半角10文字までという制限があります。ArchiCADからの出力時に設定したオブジェクト構成に従って、3DSファイル内でのオブジェクト名が設定されますが、半角10文字を超える場合には正確に再現されないので注意が必要です。
・各オブジェクトに対して個別のマルチマテリアルが割り当てられる
ArchiCADの壁を例にすると、外壁/内壁/小口(断面)の3種類の材質を割り当てることが可能ですが、オブジェクト構成を[ArchiCADオブジェクト(ネイティブ出力)]にした場合、同じ設定の壁であっても個別のマルチマテリアルが割り当てられます。結果として膨大なマルチマテリアルが作成されてしまうので、レスポンスが悪くなってしまいます。
OBJの特徴
ArchiCADからOBJを書き出すときには以下のオプションを用いることができます。[グループ構造]でオブジェクトの構成を決定します。 [標準モデル/回転されたモデル]は、軸を回転します。OBJファイルの上方向はY軸なので、その状態で書き出す場合には[回転されたモデル]を選択します。 [図面単位の設定]はスケールを定義しますが、1mmと設定しておけばOKです。
その他、気をつけることとして以下のことがあります。
・日本語の使用は不可
OBJの仕様として日本語には対応していません。そのため、ArchiCADのレイヤ名/材質名/フロア名はすべて半角英数字を用いる必要があります。
・取り込まれたオブジェクト名は書き出しルール通りに再現される
日本語が使えませんが、オブジェクト名の文字数制限が事実上ないので、ArchiCADでの情報をそのまま反映できます。
・[FLAT_PART]と[SMOOTH_PART]に分かれる
曲面があるものを書き出すと、2つのオブジェクトに分かれます。円柱を例にすると、上下面は[FLAT_PART]側面は[SMOOTH_PART]という名称がオブジェクト名の最後につけられます。
作業分担について
レンダリングイメージを作成する場合、ArchiCADと3ds Max両者の作業分担についてまとめておきます。○:必須 / △:行わなくても構わない / X:必要なし
作業項目 | ArchiCAD | 3ds Max |
モデリング | ○ | X |
マテリアルの割り当て | ○ | X |
マテリアル設定(質感) | X | ○ |
UV設定 | ○ | △ (ArchiCADでは不可能な部分) |
ライティング | △ | ○ |
カメラ設定 | △ | ○ |
家具や備品など | △ | ○ |
ArchiCADのレンダリングは独自スキャンラインレンダラーとLightWorks(レイトレース)を用いることができます。しかし、ArchiCADのLightWorksはグローバルイルミネーションに対応していないので、その表現が必要な場合は3ds Maxで行うことになります。3ds Maxでレンダリングを行うときにArchiCADの情報で必要なものは、[形状]と[それに割り当てられた材質情報]のみになり、その他は3ds Maxで設定しなければなりません。
3DS/OBJ、どちらを用いても3ds Maxに取り込んだ後、以下のような作業が必要です。
・材質を3ds Maxのレンダラー用に編集する
・UVサイズの変更や再定義
・ライティング(自然光と人工光)
・カメラの配置
・添景(家具や植栽など)の配置
では3DS/OBJ、どちらを用いれば良いでしょうか?
これまでの個人的な経験上、OBJフォーマットの使用をお薦めします。OBJとは異なり、日本語使用可能な3DSでも文字数制限があるため実用的ではありません。それよりも、半角英数字のみですがArchiCADのレイヤ名/材質名などを正確に反映できるOBJの方が、後々の作業を進めやすいと思います。
コンバートの実例
ArchiCADで入力したシンプルなオフィスビルです。OBJファイルに書き出します。[回転されたモデル]とは、Y軸とZ軸を入れ替えます。
ArchiCADの上方向はZ軸ですが、OBJファイルはY軸になっているので、その入れ替えを行うオプションです。
3ds Maxに取り込みます。OBJの読み込みオプションには、多くのパラメータがありますが、マテリアルに関するもの以外のほとんどの項目は取り込んだ後でも変更可能です。実は、ここにも[ZY軸をフリップ]オプションが用意されているので、ArchiCADからの書き出し時には気にする必要がありません。試しに取り込んで、モデルが回転していたらオプションを変更してください。 読み込みボタンを押して処理を行っている途中で、マッピング画像が見つからないというアラートが表示されますが、無視して進めます。マッピング画像は読み込んだ後、[アセットトラッキング]でパスを定義しましょう。
読み込んだ後、第5回にUPしているツールを使って、シーンを整理します。レイヤ分けに用いる区切り文字は[_]を設定すると、図のようにArchiCADと同じレイヤ名で整理できます。
これまでの内容をまとめました。目的によって重視する項目が異なると思いますので、このコラムの内容や、実際に皆さんが試してみて総合的に判断してください。
ポイント | Revit/DWG | Revit/FBX | ArchiCAD/3DS | ArchiCAD/OBJ |
形状 | ◎ | ◎ | ◎ | ◎ |
マテリアル | ○ | ○ | △ | △ |
UV情報 | ◎ | ◎ | ◎ | ◎ |
ライティング | ○ | ◎ | ○ | X |
カメラ | ○ | ○ | ○ | X |
ウォークスルーアニメーション | X | X | ○ | X |
日本語の使用 | ○ | ○ | △ | X |
3ds Maxでの利便性 | ○ | ○ | △ | ○ |
コンバートに関してはこのくらいで終わりにします。様々な環境やワークフローが考えられるので、皆さんが個々に構築することが必要です。あらゆる状況に対応することは難しいので、優先される作業を絞って考えましょう。