【VR】住宅の構造表示ビジュアライゼーションを作ってみよう【UE4】
10年以上も前の話しですが、構造計算書偽造問題が話題となり、建築基準法が改正される大騒ぎとなったのは記憶の片隅に残っています。そして耐震・免震を謳う一方で、それを可視化することはされてこなかったように思います。
VRで建物の構造を見ながら切り替えられたら面白いかなと思い、簡単にデモを作ってみました。
動画版
デモ・ビジュアライゼーションのダウンロード
やってみよう
今回は住宅の在来工法を例に挙げてみます。簡単です。
下準備
CADなどで建物の他にも構造体の3Dオブジェクトを予め作成しておきます。今の時代はどこもデータとして保存されていると思います。
ファイル形式は.FBX(または.OBJ)で出力します。このとき以下のように5ファイルに分けて出力しましょう。ポイントは基礎で、本体、構造の両方で表示したいので独立させます。
ファイル1:本体(House.fbx)
ファイル2:構造(Structure.fbx)
ファイル3:基礎(Basement.fbx)
ファイル4:家具・備品(Furniture.fbx)
ファイル5:敷地・その他の共通オブジェクト(任意。)(Others.fbx)
レベルデザイン
UE4に移りましょう。FBXファイルを全部インポートしておきます。
続けてレベルを3つ作ります。これはサブのレベルです。
建物サブレベル(House_Sub)
構造サブレベル(Structure_Sub)
共通(基礎、家具、その他)サブレベル(Common_Sub)
メインとして操作するレベルを作ります。
建物メインレベル(House_Main)
これで必要となるレベルを新規作成しました。
House_Mainレベルを開き、House_Sub、Structure_Sub、Common_Subレベルをレベルウインドウのストリーミングリストに追加します。
なおこのままではサブレベルが表示対象になっていません(テキストの左に青い●があるとき、そいつは無効。)ので、サブレベルを全て選択して右クリック→[ストリーミング方法を変更]→[常にロード済み]を選択します。すると青い●が消えます。これでOK。
【ポイント】
このとき[アウトライナ]のリストビューのヘッダーで右クリックして[レベル]を選択します。レベルを表示させておくとわかりやすいです。
Common_Subレベルに共通のメッシュを配置
現在作業中のレベルを指示します。レベルウインドウのサブレベルうちCommon_Subをダブルクリックしましょう。テキストが太い水色に変わります。この状態で太陽や敷地など、必要最低限のオブジェクトを置きます。
メッシュの配置、レベルとの紐づけ
スタティックメッシュのHouse、Structure、Furniture、Othersをビューポートにドラッグして配置します。
これだけだと全部のスタティックメッシュがCommon_Subレベルに配置されたことになるので、適切なサブレベルに所属させます。
[レベル]ダイアログでHouse_Subレベルをダブルクリックして水色表示にします。
[アウトライナ]でHouseメッシュを選択して右クリック→[レベル]→[選択内容を現行レベルへ移動](Ctrl+Mキー)を押します。するとHouseメッシュの所属レベルがHouse_Subレベルになります。
これで登場人物がが大体揃いました。あとは、House_MainとStructure_Mainレベルをスイッチする仕掛けを作ればよいので、早速とりかかりましょう。
表示スイッチのブループリント作成
今回はTキーを押すと構造の切り替えができるようにしてみましょう。
要は、予め建物も構造も表示しておいて、Tキーを押すと建物が消える仕掛けにすればよいわけです。
ブループリントを編集します。[ブループリント]→[レベルブループリントを開く]を選択。
Input Event Tを配置します。日本語版UE4であれば「キーボード」で絞り込まないと出てきません。
FlipFlopと、GetStreamingLevelを配置します。GetStreamingLevelのPackage Nameには「House_Sub」を手入力しておきます。Return Valueからドラッグしてから[Set Should be visible]を接続します。すると下記の図のようにします。
実はこれで終わりです。できてしまいました…!
といっても、いきなりこのアプリを実行させられてもユーザはどうすればいいか分かりませんから、文字を表示してみましょう。これは楽勝ですね。
ウィジェットにテキストを表示
[ウィジェットブループリント]を新規作成します。
ブループリントを開きましょう。パレットウインドウに[一般]→[Text]をドラッグして配置します。
[詳細]→[Content]→[Text]に表示したい文字列を記入します。とりあえず「T:構造切り替え」としておきましょうか。
完成
いかがでしょうか。PlayしてキーボードのTキーを押すと、構造に変わったり家に戻ったりすることが確認できますね。
こういうのって需要ないのですかね。
特に注文住宅ってお施主様が開放的な大スペースを求める場合が多く、単純に全要望を受け入れた状態だと構造的にNGになることがよくあります。というか大体この話題になるはず。
そこで、お施主様に対しては「当初のご要望プランAですと、(プランAの構造体をVRで見せながら)ここの強度が足りないため、少し妥協していただくプランBに変更します。(プランBの構造体に切り替えて、)これにより強度が保てます。VRで見ていただいても違いは歴然かと思います。」
みたいな説得の際に使えるんじゃないかと思ったりするけど、いかがでしょうか。
他にも、構造的に微妙であり設計者的にやりたくない箇所があれば、柱や梁をグラグラさせるアニメーションとか乗っければ視覚的に訴えられると思うんですけどね。
崩れるデモは結構ショッキングなのでおすすめしません(笑)
課題
・Level VisibilityをONにするときなんでこんなに遅いの? やり方が違う?
さて、もう少し踏み込んで違う見せ方をやってみましょう。近づくと構造が現れるようにしてみましょう。
応用編:SphereMaskを使用した見せ方
UE4マテリアルエディタにはSphereMaskという関数があります。AとBの距離がRadiusの条件に当てはまるときにマスクがかかる(=非表示になる。)面白い関数です。。
このSphereMaskを利用した在来工法の構造確認ビジュアライゼーションの例 です。
3 thoughts on “【VR】住宅の構造表示ビジュアライゼーションを作ってみよう【UE4】”