ARCHICAD TO UE4(UnrealEngine)

巷では、何時間もかけた静止画レンダリングから3Dゲームエンジンを用いたリアルタイムで写真品質のアニメ―ションやVRに移行されつつある。

今後学校の授業でも取り組んでみたい題材のひとつなので、GWの時間を使って3Dゲームエンジンというものに触れてみることにした。

代表的なものとしては、UNREAL(UE4)、UNITY、TWINMOTION、LUMION等がある。日本の建築分野ではTWINMOTIONやLUMIONを使っている人が多いようだが海外ではUNREALやUNITYの利用率も高いようである。先日も、BIMモデルをダイレクトにUNITYへインポートするプログラムのイベントがあったようだ。ひとまず、TWINMOTIONのエンジンで使われているUE4にチャレンジしてみた。

モデルデータは、DETASMITHという形式であればUV関連も特に気にしないで直接取り込める。MAXやREVIT、スケッチアップ等は対応しているが、ARCHICADはまだ未対応。ライノ形式が取り込めるが、部材が細かく分かれすぎて制御しずらい。

今度はTwinmotion(FBX形式)で取り込む。同一マテリアルでモデルが分類されるので使いやすい。テクスチャーも取り込まれ、見た目は上手くいったように見えるが、ライトをビルドすると真っ黒になる面がいくつも出てきた。これはインポート時にエラーが出ていたこと(UV展開が上手く行われていないこと)によるらしい。

一番ベターだと思われるのがOBJ形式。テクスチャーは取り込まれないがUV展開がきちんと行われている。テクスチャーはフォルダに出力されるから、後からインポートして割り当てるだけなので簡単。

ARCHICAD側でのポイント

  • 材質名を番号や英字等で作り直す。テクスチャーを割り当てておくと使用したものが出力されるので便利。
  • レイヤーも同様に作り直す。
  • モデルやオブジェクトは、作り直した材質とレイヤーに全て割り当て直す。
  • OBJ形式に出力する単位を10㎜にして変換する(UE4の単位は㎝のため)

UE4側でのポイント

  • インポートしたメッシュを全てレベルに配置した後、ガラスをマテリアルエディタで透過、反射を設定する。テクスチャーはメッシュ部に配置すると自動的にマテリアルが作られる。必要に応じてラフネスや乗算等で立体感を出す。これがリアルに見せるための絶対必要なテクニック。
  • 太陽の高さや角度、強さを設定する。一度、ライトのみビルドを実行する。
  • ライトマスグローバルイルミネーションを配置し、建物を覆うようにサイズ変更。床やキッチン等の陰影がぼけている箇所に限定してライトマップ解像度を上げる。ビルドに時間がかかるようになるのでやりすぎに注意。
  • ポストプロセスボリュームを配置し、建物を覆うようにサイズ変更。ホワイトバランス、ブルーム、露出、レンズフレア、AO等を調整する。Photoshopのような写真クオリティにもっていくことが出来る。
  • ライティング品質をプロダクション品質に変更してビルドを実行する。

そこそこの品質で空間内を動き回ったり、静止画やカメラを動かしたアニメーションまでできることが確認できた。今後はもう少し突っ込んだマテリアルのコントロールと、揺れる植栽や動く車/人、雨や雪のシーン等の研究をしていきたいと思う。

授業では学校でも用意があるLUMIONを題材にやっていきたいと思っているが、マイPCのグラボのスペックが低く、環境が整い次第トライアルを進めていく。

ライノの自由曲面をグラスホッパーでモルフの三角形形状に変換

これはちょっと難しかった。特に頂点座標から三角形を作成させるところ。無理に理解しようとせず三角形化する方法として割り切って使った方が良さそうだ。

ライノ
・自由曲線で断面を2本作成

GH
・1本の断面にY軸方向を定義
・2つの断面からサーフェースを作成
・UVと分割数を定義
・頂点座標を出力
・データ個数を出力
・頂点のインデックスを算出
・頂点のインデックスと頂点座標から3角形サーフェイスを生成
・モルフソリッドを生成

この他、最初に作った自由曲面ルーバーの上下の曲面からシェルで面を作れることも確認できた。ライノがそれほど出来ないグラスホッパー使いが多いと聞く。アーキがそれほど出来ないグラスホッパー使いもそのうち出てくるんだろうか。

パラメトリックタワー

引き続きRhinoceros/Grasshopper。困難なデザインがいとも簡単に作れてしまう。アルゴリズムで点群を発生させたものをモデル化するので、変数を変えるだけでガラッとデザインを変わられてしまう。

ざっりとした流れを記す。専門的な表現は触ったことがある人じゃないとわからないので簡単なフローチャートで。

まずはポリラインの建物を作る
・ARCHICADでポリラインを作る
・GrasshopperでACのポリラインの属性を認識させ、Grasshopperの曲線につなぐ。以降は全てGrasshopper。
・階数を定義。
・高さを定義。

次にポリラインのねじれを作る。
・回転を定義
・重心を回転の中心に設定
・階毎に同一角度を加えながら回転させることを定義

次にフレームのための軌跡を作る。
・ポリラインの等分割を定義
・各ポリライン毎に点のインデックスを表示
・ポリゴン内のインデックスを各ポリゴンの同一点のインデックスに変更する。
・通過点から曲線を描く

Grasshopper内のARCHICADのコマンドを割り当てる
・スラブを回転させたポリライン形状に配置
・梁をフレームの軌跡に配置

Grasshopperで設定した階数、階高、回転角度(ねじれ)、フレーム分割数でデザインを変えることはもちろんだが、ARCHICADで作ったポリラインがデザインのスタートに設定されているので、ポリラインをARCHICADで変更すると、根本的なデザイン形状をいつでも変えることがいつでもできる。これは普通のモデリング作業じゃまず出来ない。