第4回:2.0のコラボレーションで何が変わった?

過去の第1回第2回第3回で、Autodesk Revit Liveと 3ds Max Interactive 1.8のバージョンをベースにした、コラボレーションワークフローを紹介しました。そうこうしているうちに、Revit Live も 3ds Max Interactiveも 2.0がリリースされましたので、この回では、2.0での変更点や改善点をご紹介します。

LiveもInteractiveも2.0をダウンロードするには、Revit Liveや3ds Max 2018のダウンロードダイアログの中から、更新プログラムとアドオン、のダイアログの下の方を確認する必要があります。見つけにくいので、注意してください。

機能面以外の大きな変更点としては、Live Viewerがなくなったことと、3ds Max Interactiveのプロジェクトファイル(.stingray_project)をそのまま開けるようになったことでしょうか。Viewerがなくなったことで、iOS上での閲覧もなくなりました。まとめると、こんな形です。

Live Editor Live Viewer 対応ファイル拡張子
1.8 有り 有り .lvmd
2.0 有り(Autodesk Liveへ名称変更) 無し
iOSもWindowsも
.lvsc
.stingray_project

iOSのデバイスでの閲覧では、iOSデバイスのシステムメモリの少なさが原因で大きなデータを開くことが出来なかったり、古いiOSデバイスだとパフォーマンスが出なかったり、BIM 360でもモデルの確認は出来たり、ということもあり、今回から廃止となりました。今後、RevitのモデルをiOSで見る必要がある場合には、BIM 360をご利用下さい。

また、Viewerがなくなった代わりに、Autodesk Liveというアプリケーションを起動して、Publishすると、.liveファイルが1.8までは書き出されていたのですが、2.0からは、.zipファイルが出力され、その中に.exe ファイルが格納されていて、それを実行すると、Viewerで開くのと同じ状態となります。
.liveのファイルサイズと比べると、出力される.zipファイルのサイズが大きくなりましたが、これはLive Viewerが担っていた、実行するのに必要なモジュールが含まれるようになった為です。

また、以前はデータを開く際、.lvmdであるか、下記のフォルダ下に、編集したプロジェクトのデータをペーストしていました。
C:¥Users¥ユーザ名¥Documents¥Autodesk LIVE ¥1.8.0¥data
2.0からは、lvmdから.lvscへ変更されたと共に、.stingray_project のファイルも直接開くことが出来るようになりました。

では、データをやり取りする大まかな流れについて早速見ていきたいと思います。一言でいうと、1.8の頃と基本的には同じですが、2.0では更にコラボレーションがやりやすくなっています。

Autodesk Live 2.0で開く .lvscファイルは3ds Max Interactive 2.0のプロジェクトをZip圧縮したものですので、1.8の頃と同じように、同じバージョンを使うことで(Revit Live 2.0の場合には3ds Max Interactive 2.0)互換性を保ったまま、3ds Max Interactiveで開いて編集した後、Autodesk Live アプリケーションで直接開くことが可能です。

過去のコラムでは、3ds Max Interactiveを使ってRevit Liveのシーンのクオリティアップをご紹介しましたが、制限がある点もお伝えしました。2.0ではその制限の幾つかがなくなって、より柔軟なカスタマイズが出来るようになりました。1.8の頃のコラムとの差分が分かりやすいように、古いものには訂正線、新しいものは(新)を付けた制限事項情報が下記です。

・3ds Max Interactiveでは、フォルダ名に「 」(スペース)や日本語が含まれていると問題になるので、対応していない文字がある場合には削除したり、「_」(アンダーバー)や英数字で置き換えてください。Revitのプロジェクトファイルが日本語名の場合には、英数字で保存しなおしてから、LIVEに処理を投げてください。
例:Revit 基本モデル.rvt → Revit_Kihon_Model.rvt

・LIVE Editorで変更し、保存したものは3ds Max Interactiveには受け継がれない

・LIVEでは独自のskydomeとsun/direct lightの設定を持っているので、3ds Max Interactive側でskydome、diffuse ambient light、sunlight intensity、color を変更しても反映されません。3ds Max Interactive内で、ライトの焼き込みを行う場合には、sunlightは焼き込まないでください。

・Level Flow内のイベントのトリガーに使えるのは、Level Loadedのノードだけで、キーボード入力のイベントは使えません。

・Character controllerはVolume トリガーが動作するように指示することができません。

・部屋の形状を変更したり、プロジェクトにアセットを追加したり、プロジェクトのアセットを編集したりすると、character controllerで正しくない衝突判定の結果を招く原因となります。この問題を解決するには、Navigationのウィンドウを開いてシーンのNavmeshを再生成します。

・3ds Max でUnit(.fbxファイル)を編集すると、BIM情報が失われる原因になることがあるので、注意してください。

・(新)VR用のFlowノードはプロジェクト固有のものとなります。HTC ViveやOculus のテンプレートにあるものは、Liveのプロジェクト内では動作しませんが、マニュアルで調整は可能です。

Revit Liveのドキュメントサイト(英語のみ):
http://help.autodesk.com/view/LIVE/ENU/?guid=GUID-43F1D772-A2B3-41C2-9F5A-D32A391CFE47

※3ds Max Interactive 2.0はWindows 10に対応していますが、3ds Max Interactiveに関連する.exeを管理者権限で実行するようにしないと、うまく動作しない問題が発生したので、それ以後はWindows 10上では管理者権限で実行するようにしています。

では、実際にRevit Live 2.0で生成したファイルを3ds Max Interactive 2.0で開いてみましょう。

まずは、Revit Liveで処理したファイルを7-Zipを使って解凍します。何故、7-Zipを使う必要があるのかに関しては第1回のコラムの7-Zipの箇所を参照してください。

.lvscファイルを展開すると、3ds Max Interactive 2.0で開くことができる3ds Max Interactiveのプロジェクトになります。フォルダの中を開いてみると、1.8の頃とはフォルダの階層構造が全然違うことが分かります。

展開できたら、後は、3ds Max Interactive 2.0を起動し、Project Manager -> My Projects -> Add Existing をクリックし、.lvscファイルを解凍して出来たフォルダ内にある、live.stingray_projectファイルを選択します。

1.8の頃は、同じRevitのモデルをコンパイルするのに、下記の時間がかかっていましたが、2.0ではどうなっているのか比べてみました。1.8の時にも使った同じPCです。
デスクトップ:ワークステーション:Intel Xeon CPU E5-2650 v3 @ 2.30 Ghz x 2(40 cores)

1.8 : 4分46秒
2.0 : 1分36秒

流石です!約3倍高速にコンパイル処理が終わっています。1.8を使い続ける理由はないですね!

1.8の時と同様に、コンパイルエラーが出ているかどうかは、3ds Max Interactiveの画面左下のAsset Browserのタブの右にある、Log Consoleを表示して確認します。

ビューポートを移動して任意の位置に移動しても良いのですが、2.0では、ビューポートのカメラの切り替えが正しく行えるよう、改善されていますので、Revit のパースのカメラからの視点を確認できるようになりました。

では、続いて、ライトマップの焼き込みがどうなったのか、見ていきたいと思います。1.8の頃には下記のような手順でした。

1.ライトの編集(位置調整、パラメータ調整)
2.UV生成用のプラグインのインストール
3.Unitをすべて選択し、マウス右クリックで、UVの生成
4.ライトマップの焼き込み

ところが、2.0では残念ながら、UV生成用のプラグインが正しく動作しないようなので、別の方法でまとめて処理する必要があります。Unit Editorを開いて一つ一つやるのはかなりの無駄ですので。
そこで役に立つのが、3ds Max Interactiveの元となった、Stingrayのデータ駆動型のアーキテクチャになります。3ds Max Interactiveでは、FBXファイルを元に、コンパイル処理でメタデータのファイル、JSONファイルを生成するのですが、そのファイルを直接テキストエディタで開いて、大量のデータを一括編集することが出来るのです。

では、早速上記手順の2と3の代わりになる方法をご紹介したいと思います。

テキストエディタの中には、フォルダ内にあるすべてのファイルを一度に開くことができるようなものがあります。色々なエディタがあるのですが、やり方としては、

1.LIVEで処理したフォルダ内のdata¥content¥modelsフォルダをAsset Browserから、Explorerで開く

2.テキストエディタで、modelsフォルダ自体を開き、.unit ファイルに書かれた、下記の行を見つけます。
“light_baking”: “none”

3.テキストエディタの置換ツールで、フォルダ内のファイルの一括検索と一括置換を行って、テキストエディタで変更したファイルをすべて保存します。

置換対象の文字列 : “light_baking”: “none”

置換後の文字列 : generate_uv_unwrap = true

4.3ds Max Interactiveの画面に戻るとテキストファイルに反映された変更をベースにUVの生成が自動ではじまり、右下のステータスバーにコンパイル中の表示がされているのが分かります。この処理を行う際、meshの頂点数が多い場合には時間がかかる部分は1.8の頃と同じですので、高解像度のメッシュのデータなどがある場合にはしばらく待ちます。

これで、UVの生成は完了です。ライトマップの焼き込みの作業も基本的な手順は同じです。ただ、1.8の際にはメモリの制限や必要なGPUのスペックに関して紹介したのですが、2.0ではそうしたPCの制限を気にしなくともライトマップの焼き込みが行えるようになっています。例えば、第2回のコラムでLightmap resolutionの設定を5にしないとライトマップの焼き込みが出来ない、とご紹介しましたが、2.0ではLightmap resolutionを100にしたとしても、GPUのメモリ使用量が6GB以下でした。第2回のコラムで設定したのと同じライトの設定で、解像度だけ100にしてBakeを押して(Bake Selectionではなく)焼き込みを開始したのがこちらです。

ということは、ライトマップの焼き込みが必要なデータであっても、8GB程度のGPUメモリを搭載しているグラフィックカードであれば、十分に作業が出来るということにつながります。今まで、Quadro P6000やM6000といったハイエンドのワークステーション用のグラフィックカードの投資が難しかった方でも、時間さえかければ出来るということになります。焼き込むのは、仕事を終えて、帰宅する際に、Total sample passes を 1024などにして、Bakeボタンを押して帰り、朝、確認して保存する、といったことが可能です。

また、1.8の頃はライトマップの焼き込みの際、窓があると室内の明かりが外に漏れなかったり、外光が室内に入ってこなかったりといった問題がありましたが、Revit Live 2.0では窓の場合、自動的に窓のプロパティの中にあるLightmap mesh settingsの中にある、ContributesのチェックがOFFになってくるので、その手間も省けるようになりました。

そうこうしながら、こちらの記事を書いている間に、開始した焼き込みが完了しました。

GeForce GTX 1080で、Lightmap resolution = 100 で、Total sample passes = 64で、処理時間は15分26秒でした。

Editor Engine / PathTracer: Total bake time: 0 hours 15 minutes 26.2 seconds

15分でこれだけのクオリティが出ていれば、まぁまぁではないでしょうか?

後は、Reflection Probeを設定して、Sun ライトのプロパティでEnabledをONにすると、こんな形になります。

ここまで来たら、3ds Max Interactiveを終了して、編集した.stingray_projectをLiveのアプリケーションで開くだけです。
Live のアプリケーションのImportボタンを押します。

デフォルトの設定が、「Live scene(*.lvsc)」ファイルしかないので、「すべてのファイル(*.*)」に切り替えると、3ds Max Interactiveで作業していたプロジェクトのフォルダ内の直下にある、live.stingray_projectファイルが選択できるようになります。

1.8の頃は、コンパイルが走るので、開いて表示できるようになるまで、結構時間がかかりましたが、2.0からは、3ds Max Interactiveで編集したフォルダがそのまま開ける上、既にコンパイル作業は終わっているので、ロードするだけの処理となり、一瞬で開いて表示されます。

如何でしょうか?2.0からは非常に今まで以上に作業がやりやすくなりますね。

今まで、はコラボレーションワークフローのご紹介でしたが、第5回はコラボレーションワークフローから少しはなれて、VRにおけるパフォーマンスに関してご紹介していきたいと思います。