巷では、何時間もかけた静止画レンダリングから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のグラボのスペックが低く、環境が整い次第トライアルを進めていく。