DXFデータをCINEMA 4Dに読み込んで建築CGを作る

CINEMA 4DおよびBodyPaint 3Dに関する一般的な議論や情報交換をするフォーラムです。

DXFデータをCINEMA 4Dに読み込んで建築CGを作る

投稿記事by tofuji » 土 4 30, 2011 8:08 pm

 こんにちは、講師の冨士です。

 DXFデータをCINEMA 4Dに読み込んで建築CGを作る方法について、これから何回かに分けて説明していきます。

レンダリング結果のプレビュー(JPEG)
http://www2.11moon.com/sample_files/201 ... 6_0000.jpg
http://www2.11moon.com/sample_files/201 ... 6_0001.jpg
http://www2.11moon.com/sample_files/201 ... 6_0002.jpg
http://www2.11moon.com/sample_files/201 ... 6_0003.jpg

レンダリング結果(HDR)40MB
http://www2.11moon.com/sample_files/201 ... ctures.zip

シーファイル、テクスチャ、元のDXFファイル(11MB)
http://www2.11moon.com/sample_files/201 ... ner201.zip


 作業時間は、基本的な設定に6時間、全体的な調整とテストレンダリングに6時間、
最終レンダリングに5時間でした(講習会で使っているiMac換算では90分)。
もちろん時間をかければ、もっといい絵にできますが、元の形状とのバランスを考えると、
このぐらいの作業時間と画質がちょうどいいのではないかと思います。

 つまり、これ以上質感を上げたい場合は、モデリングからやり直す必要があります。
最後に編集したユーザー tofuji [ 月 5 02, 2011 12:18 am ], 累計 2 回
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html
tofuji
 
記事: 826
登録日時: 木 3 10, 2011 10:41 am
お住まい: 東京都渋谷区

Re: DXFデータをCINEMA 4Dに読み込んで建築CGを作る

投稿記事by tofuji » 日 5 01, 2011 6:41 pm

 DXFファイルを読み込むと、CINEMA 4Dのオブジェクトマネージャは次のようになりました。

 CINEMA 4Dはunicodeで日本語を扱えますが、他のソフトが同じコードで日本語を扱えるとは限りません。
CADソフトでモデリングする際には、オブジェクト名を英語でつけるようにしましょう。

画像
最後に編集したユーザー tofuji [ 日 5 01, 2011 7:01 pm ], 累計 1 回
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html
tofuji
 
記事: 826
登録日時: 木 3 10, 2011 10:41 am
お住まい: 東京都渋谷区

Re: DXFデータをCINEMA 4Dに読み込んで建築CGを作る

投稿記事by tofuji » 日 5 01, 2011 7:00 pm

 これは「ACI 7」というマテリアルが適用されたオブジェクト「だけ」を表示させたシーンです。

画像

 「ガラス」、「金属」、「布」、「塗料」、「木材」、「コンクリート」といった全く異なる材質のオブジェクトに対して、
ただ「色が白い」というだけで一つのマテリアルを適用するのは無茶です。

 例え色が同じでも、材質が異なる場合は別のマテリアルを作成し、オブジェクトに適用して下さい。
また、マテリアルにも「英語で」適切な名前を付けて下さい。


 オブジェクト名にしろ、マテリアル名にしろ、モデリング中に「手抜き」をして省略できる時間を「1」とすると、
シーン編集時に失われる時間は「3〜5」です。

 また、モデリングとシーン編集を違う人間が担当する場合、失われる時間は「5〜20」になります。
モデリングしかしない人間には関係ないかも知れませんが、そういう人間はやがてシーン編集作業を受け付けてもらえなくなります。
最後に編集したユーザー tofuji [ 日 5 01, 2011 7:58 pm ], 累計 1 回
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html
tofuji
 
記事: 826
登録日時: 木 3 10, 2011 10:41 am
お住まい: 東京都渋谷区

Re: DXFデータをCINEMA 4Dに読み込んで建築CGを作る

投稿記事by tofuji » 日 5 01, 2011 7:57 pm

 これはライトの拡大図です。

 ライトは非常に重要なオブジェクトで、その内部にCINEMA 4Dのライトを仕込み、
レンダリング結果を見ながらライトの性質や向きを変えていきます。

画像


 しかし、上の図のようにライトの軸の「位置」や「角度」がズレている場合、そのままではライトを仕込むことも、動かすこともできません。
DXFには「オブジェクトの軸」という概念がないので、DXFを使う限り必ずこの問題が発生します
(正確には、DXFにもローカル座標の概念はあるが、使われていない)。

 
 一番簡単な解決方法は、CADソフトでライトを作成したら、移動や回転をせずにすぐにCINEMA 4Dに持ってくることです。
そして、CINEMA 4Dのライトを仕込んだ後でインスタンスで増やせば、ライト全体を効率よく管理できます。

---
 
 しかし、今回はこんな状態からスタートしているので、オブジェクトの軸を後から合わせるためのXPressoを作りました。
同じことがCINEMA 4Dの標準機能やプラグインでできるのかどうかは知りません。

サンプルファイル
http://www2.11moon.com/sample_files/201 ... _reset.zip

説明ムービー
http://www2.11moon.com/sample_files/201 ... _reset.mov

 このXPressoの使い方はちょっと面倒です。
しかし、コンピュータはユーザが望む軸の位置や角度を知らないので、おそらくこれ以上に簡単な方法はないはずです。

 まず、軸の位置と角度を指定するには3個の点を指定する必要があります。
また、その3個の点をどのように使うかも指定する必要があります。

 そこで、このXPressoでは作業を2段階に分け、最初のステップで「軸の位置とX軸」を決定し、
次のステップで「Z軸」と「Y軸」を決定するようにしました。


 具体的には、以下のように作業します。

1. 軸を合わせたいオブジェクトの下に、「get_axis」オブジェクトを入れます。

2. 軸を合わせたい位置の両側にあるポイント2個を選択します。

3. 「get_axis」オブジェクトに付いているXPressoダグのユーザデータを開き、
「get center point」をクリックします。

 これで、「get_axis」オブジェクトが選択したポイントの中間に移動し、
X軸が選択したポイントの一つの方向を向きます。

4. 次に、Z軸を向かせたい位置にあるポイントを1個選択します。

5. 「get_axis」オブジェクトに付いているXPressoダグのユーザデータを開き、
「get Z axis」をクリックします。

 これで、「get_axis」オブジェクトのZ軸が選択したポイントの方向を向き、
同時に、Y軸がX軸とZ軸に垂直な方向を向きます。

6. 「get_axis」オブジェクトを階層の外に出し、軸を合わせたいオブジェクトを中に入れます。

7. 軸を合わせたいオブジェクトの位置と角度の値を全て0にします。

8. 軸を合わせたいオブジェクトを階層の外に出し、「get_axis」オブジェクトを消去します。


 これで軸の位置と角度を全て合わせることができました。
非常に面倒ですが、「後のことを何も考えずに作られたCADデータ」を、DXF形式でCINEMA 4Dに読み込んだ場合、
「失われた軸を取り戻すために」数限りなくこの作業をくり返す必要があります。
 
 
 こんな不毛な作業をするぐらいなら、「CINEMA 4Dの中で始めから作った方がいい」と私は思いますし、
みなさんにもそう言っています。

 しかし、ほとんどの人は「DXF経由で編集不能になったシーン」をちまちまといじくり回し、
「難しい」とか「面倒だ」と言います。しかしそれは自分が「好きで選択したこと」ですから、がんばってやって下さい。

---

 その後調べたところ、CINEMA 4Dには標準で「構造 -> 軸を中心 -> 軸センター」という機能があり、
これで同じことができることが分りました。

 ただし、面倒臭さは大して変りません。

---

 その後さらに調べたところ、軸センターツールにはポイントモードがないため、軸を合わせられないケースが存在することや、
そもそもスプラインオブジェクトには使えないことが分りました。また、オブジェクトを壊すバグもあります。

 ですから、少なくとも私は自分で作ったXPressoを使うことにします。

軸を合わせられないケース
http://www2.11moon.com/sample_files/201 ... _axis2.zip

オブジェクトが壊れるムービー
http://www2.11moon.com/sample_files/201 ... is_bug.mov
最後に編集したユーザー tofuji [ 水 5 04, 2011 3:37 am ], 累計 10 回
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html
tofuji
 
記事: 826
登録日時: 木 3 10, 2011 10:41 am
お住まい: 東京都渋谷区

Re: DXFデータをCINEMA 4Dに読み込んで建築CGを作る

投稿記事by tofuji » 日 5 01, 2011 8:54 pm

 これは適当にライトを置いて室内をレンダリングしたものです。
家具類が床から浮いているのがわかると思います。浮遊量は「2mm」でした。

画像

 単純な設計ミス、もしくは配置ミスと言えるかもしれませんが、私はこれまで受け取ったCADデータの中に似たようなミスを限りなく見てきました。
「日建設計」とか「佐藤総合」のような大きなところでも、このようなミスを平気で出します。

 「CADデータ」というのは所詮そんなものです。CADデータが「そのまま建物になる」わけではありません。
CADデータの中に含まれるミスは、その後の各段階で適切に修正されるし、
そもそも「家具を2mm浮かせて置く」なんてことは物理的に不可能です。
 つまり、「CADデータにおける2mmのズレはそんなに大きな問題ではない」のです。

 それに対して、CINEMA 4Dのシーンファイルは、それが「そのまま絵になる」性質のものです。
つまり、「CINEMA 4Dの場合、2mmのズレは大問題」なのです。


 少なくとも、この点において、CINEMA 4Dのシーンファイルに要求される「精度」や「完成度」はCADデータより遥かに上です。

 建築を仕事にしている人の多くは、CADデータこそが「魂」であり、
CINEMA 4Dのシーンファイルなんかは「おまけ」のパースを作るための、「おまけのおまけ」ぐらいに思っているようですが、事実は逆です。
 CADデータを作る時のような「ユルい気持ち」でCINEMA 4Dのシーンファイルを扱うと、「使い物にならない絵」しかできません。

---

 CADでこういうミスが多発する最大の要因は、「三面図」を使って「線」で描いているからです。

 たとえば家具が2mm浮いている問題も、三面図で見ると下図のように「何か」に接しているように見えます。
この「何か」は、床ではなく「敷居」です。

画像

 しかしCINEMA 4Dでは、「透視図」を使って、線ではなく「面」を表示させて作業します。
また、影付きのライトを使って頻繁にテストレンダリングするので、このようなミスは発生してもすぐに発見され、修正されます。


 このような理由からも、私は「CINEMA 4Dの中で始めからモデリングする」ことをお勧めします。
CADからデータを読み込んでも、その中には「許容し難いミス」がたくさん含まれていて、その修正作業を延々とやらなければならないからです。

 その修正作業にかかる時間と、CINEMA 4Dの中で始めから作るのに必要な時間を比較すると、ほとんどケースでは修正した方が早いでしょう。
しかし、時間以外にも次のような違いがあります。

1. 作る作業は楽しいが、修正する作業は虚しい。

2. 新規に作ったものと、出来損ないを修正して作ったものでは、品質が違う。

3. CINEMA 4Dで新規に作ったものは、部品としてどんどん貯まっていき、将来の仕事で再利用できる。
 しかし、修正作業は毎回やり直さなければならない。
最後に編集したユーザー tofuji [ 日 5 01, 2011 10:14 pm ], 累計 3 回
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html
tofuji
 
記事: 826
登録日時: 木 3 10, 2011 10:41 am
お住まい: 東京都渋谷区

Re: DXFデータをCINEMA 4Dに読み込んで建築CGを作る

投稿記事by tofuji » 日 5 01, 2011 10:00 pm

 修正が必要なもう一つの例です。

 CADソフトが扱えるのは、基本的に「点」、「線」、「面」の集合であり、「立体」は扱えません。
ある人は、「立体とは面の集合体だろう」と思うかもしれませんが、「違います」。

 「立体」とは、「閉じた面の集合体」です。
 「閉じた面」というのは、簡単に言うと「穴や重なった面を持たない面」です。

 しかし、CADソフトは下図のような「閉じていない面」を簡単に作り出し、チェックする機能もありません。

 画像

 上の図では、わかりやすいように重なった2枚の面を引きはがし、色を分けてありますが、元々は完全に重なっていました。
この「立体」の「どこが内部で、どこが外部だろう」と考えてみれば、これが「立体ではない」ことが判るはずです。


 CADソフトの目的は、所詮「線を印刷すること」です。「面」はただ線で囲まれた領域に色を付けるためだけに使われ、
「立体」はただ平面から立面を起こすためだけに使われるので、「その平面が閉じているかどうか」とか、
「その立体が本当に立体かどうか」なんてことは誰も気にしません。

 しかしCINEMA 4Dでは、当然のことながら、これは「大問題」になります。
なぜなら、絵を作るための多くの機能が「立体の内部と外部」を区別して働くからです。

 絵を作る際に最も基本となるレンダラーも、「立体の内部と外部」を区別して働きます。
最悪の場合、2枚の重なった面にぶつかった光はそこにトラップされ、出て来られなくなります。

 つまり、ライトから出て面Aで反射され、向きを変えた光はすぐに同じ位置に重なった面Bに反射されて向きを変え、またすぐに面Aに反射され、、、
となるわけです。

 また、重なった面ABとライトの間に何もオブジェクトがなくても、面Aが面Bに影を落とし、同時に面Bが面Aに影を落とします。


 他にもたくさんの問題が起こりますが、これはCINEMA 4D固有の問題ではなく、数学や物理の問題であり、
他の全ての3DCGソフトで同じ問題が起こります。しかしCADソフトでは何の問題も起こりません。

---

 似たような問題が、Illustratorからパスを読み込む時にも発生します。

 Illustratorでは、「重なったパス」は何の問題にもなりませんが、CINEMA 4Dの中では大きな問題になります。

---

 前の投稿で説明した「2mmズレている」という問題に比べて、この種の問題は発見が難しく、修正も面倒です。

 そこで、CINEMA 4Dのモデリングツールはこの種の問題が発生しにくいように作られていて、いろいろなチェックツールや修正ツールもあります。
したがって、問題が小さいうちは簡単に修正できます。

 しかし、「何重にも面が重なってぐじゃぐじゃになったオブジェクト」は、修正するより作り直した方がいいです。
理由は、「完全に修正できたかどうか、誰にも保証できない」からです。
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html
tofuji
 
記事: 826
登録日時: 木 3 10, 2011 10:41 am
お住まい: 東京都渋谷区

Re: DXFデータをCINEMA 4Dに読み込んで建築CGを作る

投稿記事by tofuji » 月 5 02, 2011 11:28 am

 ここまでの投稿の中で、私は「作る作業は楽しい」とか、「CINEMA 4Dで新規に作ったものは、部品としてどんどん貯まっていき、将来の仕事で再利用できる」、
と書きました。また、「CINEMA 4D基礎」の講習の中で、「アニメーション機能は静止画の作成にも役に立つ」と言っています。

 今回の制作の中で、これらの言葉を最も象徴する部品は「アコーディオンドア」だと思います。

サンプルファイル
http://www2.11moon.com/sample_files/201 ... n_door.zip

説明ムービー
http://www2.11moon.com/sample_files/201 ... n_door.mov

 「アコーディオンドアを動かす」という発想はCADソフトの中にはありません。それは、機能的にできないのではなく、やっても楽しくないし、
仕事上何のメリットもないからです。

 しかし、CINEMA 4Dの場合、アコーディオンドアを動かすことには大きな意味があります。
まず、動かせれば見た目で楽しいし、動かすことによって、簡単に条件の違う絵を作り出せるからです。

 また、一度作成した「アコーディオンドア」という「アニメーション機能」は、オブジェクト単位でも、プログラム(XPresso)単位でも簡単に複製できます。
事実、このアコーディオンドアも、6枚のドアは1枚のオリジナルをインスタンス(シェイプ)で複製したものですし、
ドアの角度を動かしているXPressoも、オリジナルを3個複製して使っています。

 つまり、このXPressoを組めない人であっても、アコーディオンドアの大きさや枚数を変えるぐらいのことはできるだろうし、
また、このXPressoを改造して似たような構造の部品を作れるはずです。

 そして、このXPressoを作った私も、次回は「標準部品」として「動くアコーディオンドア」を使えるわけです。

---

 ユーザデータの代わりに「ハンドル」で動かしているバージョンです。
http://www2.11moon.com/sample_files/201 ... _door2.zip
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html
tofuji
 
記事: 826
登録日時: 木 3 10, 2011 10:41 am
お住まい: 東京都渋谷区

Re: DXFデータをCINEMA 4Dに読み込んで建築CGを作る

投稿記事by tofuji » 月 5 02, 2011 4:04 pm

 もう一つ、自動化しておくと便利な部品を作りました。ダクトレールにぶら下がったライトです。

 これは、実際に調整する際も結構めんどうなのですが、3DCGの場合は簡単に「リモコン」にできます。

サンプルファイル
http://www2.11moon.com/sample_files/201 ... lights.zip

説明ムービー
http://www2.11moon.com/sample_files/201 ... lights.mov

 前の「アコーディオンドア」とは違って、自動化しなくても作業はできますが、自動化しておくと「楽しく」作業できます。
また、アコーディオンドアに比べて頻繁に使われるので、「標準部品」にしておくと便利だと思います。
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html
tofuji
 
記事: 826
登録日時: 木 3 10, 2011 10:41 am
お住まい: 東京都渋谷区


Return to ユーザフォーラム

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[2人]