不動産の仮想現実:ケース

オンラインゲームプロジェクト管理プログラムの卒業生の1人は、仮想現実のプロジェクトを実装するチーム働いています。 今彼らはバーチャルショールームで働いています



VRにより、開発者は、写真のようにリアルな画像、最も完全な空間感覚、および必要なインタラクティブ性を備えた品揃えを実物大で提示することができます。 将来のプロジェクトを実際のプロジェクトと見なし、その規模を十分に体験し、同時に驚くべき「チップ」を取得するまさにその機会です。たとえば、長距離へのテレポート、環境の視覚的および物理的特性の変更-これらはすべて、不動産のプレゼンテーションの新しい視野を開きます。 カットの下では、技術的な観点からそれがどのように行われたかについての卒業生の物語があります。







開始:Revit VS Unreal



最初に、プロジェクトの詳細に基づいて、Revitでアパートモデリングを実行しました。 Unrealへの直接転送により、不気味なジオメトリが発生しました。「スタック」し、理解できないトポロジが発生しました。 3D maxで適切なモデルを取得するために、フォーマット、エクスポートプラグインのオプションをいくつか試しました。 奇跡は起こりませんでした。単純な長方形のパーティションには、ポイントに2〜3個の非接着ピークがあり、ポリゴンが重なり、余分なエッジがあり、法線が拡張されていました。 曲面を持つオブジェクトには、密なグリッドがありました。 ジオメトリの修正に時間がかかりすぎて、再度簡単に修正できる場合がありました。 したがって、壁フレームと家具を3D最大で再編集し、レビトフスカヤジオメトリを参照として使用しました。



コンテンツ制作:時間とお金



すぐにオブジェクトを満たそうとする2人半の力が働かないことが明らかになりました。 在庫3ddd、Turbosquid、およびUnrealマーケットプレイスに切り替えました。 結果として、不適切なUVスキャン、多数の三角形、および愚かなトポロジを備えたモデルを受け取りましたが、市場の説明ではゲーム読み取りモデルも重複していないとされています。 そのため、トポロジを編集および単純化し、スイープを再実行し、テクスチャを洗練する必要がありました。



プロジェクトの途中で、彼らはアンリアルマーケットプレイスに目を向けましたが、すべてがスムーズに進んだわけではありません。一部のモデルは低ポリですが、これはプレビューには表示されませんでした。 これが必要ない複雑な素材、不正確なUVスキャン、いくつかのUVチャンネル。



ある時点で、lightmassは拒否を説明せずにライトマップの計算を拒否しました。 小道具のチェックを開始しました;レベルには500個ありました。 まず、除外の方法を採用しました。レベルのコピーを作成し、小道具を削除して、レンダリングに送信しようとしました。 小道具の半分を通過した後、私は間違ったものを見つけました。それはトイレのタオルでした。 レベルに戻った後、彼らは小道具を修正しましたが、ライトマスはまだカウントすることを拒否しました。 Unrealマーケットプレイスのプロップの80%が間違ったスイープと複数のUVチャンネルを持っていることが判明しました。 小道具を修正した後、問題は消えました。 将来的にこれを避けるために、彼らはUVバグの小道具をチェックするための青写真を書きました。



コード:ブループリントVS C ++



作業の90%は、プログラミング言語の知識がなく、共通の基本事項しか持たないブループリントで実装されています。 主なタスクは、ドア、キャビネットドア、引き出しとの相互作用を実現し、ソリューションを異なるドア構成に簡単に移行できるようにすることです。 5つの構成がありました。右から左へ、左から右へ、上から下へ、自分から、自分へ向かって。



古典的なバージョンのオープニング「カムアップし、押した「E」、ドアが開いた」から-彼らはすぐに拒否し、コントローラーを使用して手でそれを開くことにしました。







一見簡単な作業でしたが、他のオブジェクトとの衝突、開くときの回転軸のシフト、開く側を考慮し、トリガーが押されたときにコントローラーに「付着」せずにドアを開く必要がありました。







その過程で、クローゼットにボウリング場とスクリーマーを作り、インテリアを見るのを邪魔しました。



最適化:Picture VS FPS



最適化はかなり苦痛なプロセスです。 映画館で長年にわたって開発されたリアルな画像への欲求は、fpsのために、SSAOシャドウの品質、反射マップのサイズ、シェーダーの簡素化、テクスチャーのサイズなどを減らす必要がある場合に苦痛を伴います。



作業はバージョン4.13で始まり、その後、前方シェーディングはありませんでした。 4.14の登場により、20〜30 fpsの成長を実現しましたが、SSAOであるHDR Lightingを奪い、その結果、画像が劇的に変化し、プロジェクトの再設計につながりました。 現時点では、次のプロジェクトに向けて、これを行わないことにしました。



プレイテスト:UX VSユーザー



プレイテストは、さまざまな年齢と性別のカテゴリで開催されました。 ほとんどの場合、VRの経験のない人はすぐに習得し、確かにオブジェクトを開いてタッチしようとしました。 リアルさを高めるために、アクティブなオブジェクトを特に強調しませんでした。



経験の浅いユーザーがテレポートとアクションの2つのボタンを混同していることが判明しました。 トレーニングレベルでは、まず空間を移動する方法を示し、次にオブジェクトを操作する方法を示しましたが、ユーザーはテレポートをクリックし続けてポイントに移動し、ドアを開きました。 ボタンのツールチップを作成しましたが、状況は変わっていません。 そのため、アクションとテレポーテーションをトリガーに転送し、ワンボタンコントロールオプションを作成して、コントローラーを1つだけ残しました。



また、ユーザーは「釣り竿」の使用方法をすぐには理解できないことに気付きました。床に平行に腕を伸ばし、テレポートをクリックし、レベルの反対側に「飛んで」迷子になりました。 したがって、「釣り竿」をオプションに変更しました:トリガーをクリックすると、床に移動アイコンが表示されます、条件付きで頭を回すことで-ユーザーが見て、移動したいポイントを選択し、トリガーを離して目的のポイントに移動します



VRの感覚について:一部のユーザーはドアを開けようとし、ドアから1メートル離れています。 人生のように、ドアが開くことを説明する必要があります。ドアに近づき、ハンドルをつかんで引っ張る必要があります。 また、誰もがしきい値を超え、壁を通り抜けることを恐れます。 開発プロセスに携わる自分たちは、仮想のソファーやテーブルに身を乗り出したいという欲求に繰り返し気づきました。



外部管理:Unreal.js VS Socket.io



マネージャーに販売プロセスを「リード」し、新しい世界に慣れていない人々を助ける機会を与えるために、私たちはあなたが地区の家とインフラに集中し、レベルとレベル内のポイント間でユーザーを移動し、またアパートを選択できるWebアプリケーションを開発しました関心のあるパラメータと適切なオファーを動的に視覚化します。



Unrealとの通信の遅延を最小限に抑えるために、WebSocketプロトコルを使用したいと思いました。 最初に目を引いたのは、Unreal.jsプラグインでした。これにより、Javascriptで記述でき、WebSocketServer実装が含まれています。 このプラグインを使用してバージョン4.13のプロトタイプを作成しましたが、すべて正常に機能しました。 Unreal 4.14がリリースされ、数日後にプラグインが更新されました。変更リストには2つのポイントがあります。



  1. 4.14と互換性があります(!!!)
  2. 「カット」WebSocketServer(???)


どうやら、この実装が気に入ったのは私たちだけです。 彼らは悪名高いgetnamoコミュニティからsocketio-client-ue4を発見し、代替品を探し始めました。 すべては問題ありませんが、その時点ではバージョン4.13のみがサポートされ、ブループリントではラインのみが受け入れられました。 JSONを解析するためのライブラリの作成を開始しましたが、すぐにGetnamoは新しいリリースでこの仕事をすることを非常に喜んでくれました。



最終的には、私が望んでいたよりも良くなりました。 実行中のすべてのUnrealとWebアプリケーションをリアルタイムで同期する別のサーバーを作成しました。これにより、たとえば、特定のアパートを予約するときに、他のすべてのUnrealとWebアプリケーションをすぐに選択から除外できます。



作成されたデモプロジェクトは期待に応えており、経験の浅いユーザーと専門家の両方に無関心ではありませんでした。 多くの人は、彼ら自身がアパートを購入したとき、そのようなサービスを利用することは不可能であると不平を言いました。 リリースに十分ではない唯一のものは、大胆で野心的な開発者の存在です!



この全体がどのように見えるかを次に示します。







ライブで試して開発チームとチャットできます。 仮想ショールームは、2月11日のHSEの講義日に表示されます。 こちらからサインアップしてください



All Articles