第1回:データ受け渡しの基本的なフロー

※ 2017年夏、ゲームエンジン Stingrayは3ds Max Interactiveになり、3ds Maxの機能の一部となりました。このコラムでは3ds Max Interactive 1.8を使っていますが、Stingray 1.8をお使いの方は、文章中の3ds Max InteractiveをStingrayと置き換えて進めて頂いても大丈夫です。

このコラムでは、建築BIMソフトウェア Revitで作成したデータを、簡単にクラウドでリアルタイム・インタラクティブ・コンテンツに変換可能なRevit Liveで処理し、そのファイルを3ds Max Interactiveを使って編集する際に必要なノウハウを皆さんにご紹介していきたいと思います。
今回はその第1回目ということで、注意点とデータの開き方についてご紹介します。

Live Design Eco-System

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

なぜならば、Live EditorはStingrayというゲームエンジンをベースにカスタマイズされた製品で、3ds Max Interactive はStingrayの呼び名が変わっただけで、裏ではStingrayが動いている為に、そうしたことが可能なのです。

3ds Max Interactiveを使うと、Revit Liveのシーンの品質をより良いものにすることが可能です。例えば、アニメーションを追加したり、マテリアルを生成したり編集したり、Autodesk 3ds Max Asset Libraryなどで提供されている家具を読み込んだり、ライティングをグローバルイルミネーションを使って焼き込みを行ったりして、作業が終わった3ds Max InteractiveのプロジェクトをLive Editorで開くことが可能です。

ただ、Revit Live バージョン1.* では下記の制限もあります。特に一番目は日本語特有の制限ですので、ご注意ください。

・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情報が失われる原因になることがあるので、注意してください。

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

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

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

まずは、LIVEで処理したファイルを7-Zipを使って解凍します。
http://www.7-zip.org/download.html から、.msi 形式のWindows 64-bit x64向けのインストーラをインストールしておきます。
Revitの内部データで日本語名を使っている場合には、拡張子.lvmdを.zipに変更する際に、WindowsのデフォルトのZip解凍で「すべて展開」を行った場合、日本語のファイル名が文字化けしてしまうケースがあるので、7-zipを使います。

現在、LIVEの中では日本語の文字が文字化けして表示されてしまいますが、解凍したフォルダに含まれるファイル名を見ると、日本語が含まれていて、データ自体は正しく日本語のままRevit Liveで処理されているのが分かります。

LIVE

LIVE

3ds Max Interactive

.lvmdファイルを展開すると、3ds Max Interactive 1.8で開くことができる3ds Max Interactiveのプロジェクトになります。

3ds Max Interactiveで開く場合、フォルダ名を適宜変更して分かりやすいものに変更します。今回はrac_basic_sample_project_bakedとします。
3ds Max Interactive 1.8を起動し、Project Manager -> My Projects -> Add Existing をクリックし、rac_basic_sample_project_bakedのLIVE.stingray_projectファイルを選択します。

3ds Max Interactiveでは最初にプロジェクトのデータのコンパイル処理が走ります。3ds Max InteractiveもLive Editorもコンパイルはマルチスレッドに対応しているので、コア数の多いCPUやクロック数の高いCPUを使う方がコンパイル処理が格段に速く終了します。例えば、下記は私が利用している複数のPCを使った、このプロジェクトのコンパイルに掛かった時間です。コアが多くて、クロック数の最も高いものが一番早いのがお分かりいただけると思います。また、下記の一番早いPCは、ディスクがSCSIなので、SSDにすると、更に早くコンパイルが完了するはずです。

例:
デスクトップ:ワークステーション:Intel Xeon CPU E5-2687W v4 @ 3.00GHz x 2 (48 cores) : 3分56秒
デスクトップ:ワークステーション:Intel Xeon CPU E5-2650 v3 @ 2.30 Ghz x 2(40 cores) : 4分46秒
ラップトップ:ゲーミングPC:Intel Core i7-4720HQ CPU @ 2.6Ghz (TurboBoost ON 3.56GHz、8 cores) :7分52秒

3ds Max Interactiveの画面右下にコンパイルの進捗状況が表示されます。
コンパイルが終了したら、File -> Open Level で、rac_basic_sample_project を開きます。

すると、このような画面でレベルが表示されます。

もしも、この時点でコンパイルのエラーがないのに、3ds Max Interactiveの画面のレイアウト枠のみが表示されるだけで、コンテンツが何も表示されない場合には、Window -> Reset Layoutを実行すると正しく表示されます。

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

このRevitのシーンはどうやら原点の座標(0, 0, 0)位置ではないところを基準に建物が作られているようなので、カメラを移動していくと、このようなシーンになっています。

この結果に関して、良くご質問頂く点があります。

Q1周りに見える山々があるが、これを街中や住宅街などのバリエーションで変えられないのか?
残念ながらRevit Live側の処理では出来ません。変更するのではなく、Revit Live のダイアログ内の地形を水平線まで拡張するオプションをオフにして、山々や草原が作られないようにした上で、3ds Max Interactive側で周辺のモデルを街中や住宅街のものを作成することで実現は可能です。
Revit Live側の設定は、詳しくは「没入型ビジュアライゼーション」のサイトから、ダウンロード可能なeブック、「没入型ビジュアライゼーションを作成する 6 つの方法」の第9章「Revit から Revit Live に書き出す」をご覧下さい。
Q2Live EditorにあったようなUIや機能はないのか?
残念ながらありません。ただ、3ds Max Interactiveで開いたデータは、そのままLive Editorに戻すことが可能です。その手順はこのコラムの最後にご紹介します。

ということで、少し横道にそれましたが、3ds Max Interactive側にBIMの情報がきちんと受け継がれていることも確認可能です。このデータは英語のBIM情報しかありませんが、日本語の情報がある場合、LiveEditorでは文字化けしますが、3ds Max Interactiveでは正しく表示されます。これは、Live Editorには日本語表示用のフォントがない為で、現状の制限事項となっています。

では、続いて、一度3ds Max Interactive側で開いたデータをLive Editor側に戻す手順です。

3ds Max Interactiveで編集したデータを正しく開くには、Live Editorを開き、今回3ds Max Interactiveで編集するのに元になったプロジェクトを一旦削除する必要があります。今回のデータでは、rac_basic_sample_project_2017というものです。

下記の方法で削除してください。

1.Live Editor内で、今回のプロジェクトのLVMDファイルのアイコンを削除する。

削除が完了したら、Live Editorを終了します。

では、続いて、3ds Max Interactiveで作業したプロジェクトフォルダ内の、dataフォルダ内にある、アルファベットと数字のフォルダ(e32874e、これをRevitのLIVEにおけるプロジェクトIDと呼ぶ)を選択して、下記のフォルダ内に、コピーペーストします。このフォルダ名はRevit Liveに処理を投げる度に変わるものです。

例:
C:¥Users¥ユーザ名¥Desktop¥rac_basic_sample_project_2017_baked¥data¥e32874e
e32874eのフォルダをコピーして、下記の場所にペースト
C:¥Users¥ユーザ名¥Documents¥Autodesk LIVE ¥1.8.0¥data

すると、このような形になります。

コピーが完了したら、Live Editorを起動してこのデータを開きます。コンパイルの処理が終わると、Live Editor側で同じものが開けるようになります。

Revit Liveと3ds Max Interactiveのコラボレーションワークフローの基本となる、データのやり取りはこの手順ですので、しっかり覚えておいてください。

では、第2回は、ライトマップの焼き込み方についてご紹介します。

つづく