ハイポリ3DモデルをMRゴーグルやスマホ等で見る方法。

AR

HoloLensやQuestに代表されるMRゴーグルまたはVRゴーグル、iPhoneなどのスマホは軽量でバッテリー駆動する事を優先しているため3D性能はパソコンに到底及びません。GPUが多少古くても相手にならない程の性能差があり、数百万ポリゴンのグラフィックを表示する事すらままならないのです。CADデータを一般的なアプリで表示するには一度ポリゴンデータに変換するのですが、モバイル機器で表示できるようポリゴン数を減らす(リダクションする)必要があります。

ポリゴンデータのリダクションについてはPixyz Studioがあれば割と作業しやすいでしょうが、ライセンス費用がそれなりに負担ですし、他の無料ツール含め作業工数の問題があります。更に、テクスチャやマテリアルの設定まで行うとなると工程が増えてしまいます。中でも問題なのは、ポリゴン数を減らす程度によっては形が大きく崩れてしまいデザインレビューに使えなくなる点です。そこで、PCやサーバーで処理した画像をMR/VR機器やモバイル端末に送信する方法が候補に挙がります。

PCで処理した画像をUSBやWiFi接続したVRゴーグルに送信する方式をPCVRと呼びますが、他にもサーバーでレンダリングした画像を社内外のネットワーク経由でストリーミングする方法(ここでは便宜上リモートレンダリングと呼ぶ事にします)があります。

PCVR

UnityやUnreal EngineではPC向けのアプリをビルドして、映像の出力先としてVRゴーグルを選択する事ができます。私自身が試作したり見せてもらった事があるのはQuest2での表示ですが、高精細な画像をリアルタイムに表示することが可能です。また、KeyShotやXVL Studioといった既存の製品でもプラグインが用意されていて、オプション費用は掛かりますがPCVRを試すことも可能です。

この方式の特徴は、表示する3DCGに見合う高性能なPCを用意する必要がある事と、USB接続であればネットワークを一切経由する事なく閉じられた環境で3DCGを見ることができる事です。

リモートレンダリング(クラウドレンダリング)

サーバーに3Dモデルをアップロードすると、MR/VRゴーグルやモバイル端末の位置に合わせたレンダリング画像を生成します。端末の視点がどこにあるかをサーバーに送信し、サーバーは視点に合わせた画像をリアルタイムに送信することで1000万ポリゴン以上のデータでも快適に確認する事が可能です。

この方式は商用サービスが既に存在しており、1時間あたり600円〜(プランやサービスによって単価は異なる)で高解像度のCADデータを見る事が可能です。具体的な製品やサービス、機能としては、MicrosoftのAzure Remote Rendering(ARR)、EpicのPixel Streaming(Unreal Engine)、NVIDIAのCloudXRなどが挙げられます。

Microsoft Azure Remote Rendering(ARR)

リモートレンダリングのサーバーを時間料金で使用できるサービスで、クライアント側のアプリを開発する必要があります。Unityで開発することも可能ですが、クライアントの機能を持ったサービスとしてはmixpace Remote Rendering(ミクスペース・リモート・レンダリング、略称:mRR)があります。mixpaceではPCからWebブラウザでサービスのページを開き、CADデータ(IGES、CATIA、Parasolid等)をドラッグ&ドロップします。閲覧にはHoloLens2が必要ですが、アプリ開発に比べれば安いと思われます。

HoloLens2が既にある場合、Meshというアプリをインストールするとサンプルの3DCGを見る事が可能です。Meshでは手持ちの3DCGを追加する事ができる様ですが、ARRの契約が必要なのとMesh自体がプレビュー版のアプリなのでこの先ずっと使えるかは分かりません。

Introducing Microsoft Mesh | Connect like never before
Microsoft Mesh enables presence and shared experiences from anywhere – on any device – through mixed reality application...

Epic Pixel Streaming(Unreal Engine)

Unreal Engineのプラグインとして提供される機能で、こちらは既成のサービスが無いため自前でアプリ開発する必要があります。GPUの要件はありますが、プラグインを導入したUnreal Engine製アプリをPCまたはサーバーで実行し(ウェブサーバー機能が搭載されている)。そのホストにウェブブラウザでアクセスするだけの様です。

日本初の事例では家具の販売サイトでコンフィギュレーターとして実装されており、次の動画で事例紹介されています。MR/VRゴーグルで使えたら個人的に嬉しい技術ですので、そのうち試してみようと思います。

Unity Render Streaming

こちらもGPUの要件はありますが、ブラウザ経由でUnityを操作することが可能です。HDRPでレンダリングした映像も配信出来るので、高品位な映像をモバイル端末やMR/VRゴーグルで楽しめます。

Unity Render Streamingについては、VRゴーグルでの操作が事例として存在します。

NVIDIA CloudXR

NVIDIA CloudXR ServerとNVIDIA CloudXR ClientというSDKを使ってストリーミングサービスを構築します。理屈上はオンプレミスでサーバー構築することもできますが、ハードウェア要件が厳しいのでAWSやGoogle Cloud、Azureを契約した方が良いかも知れません。クライアント側はUnreal Engineでの開発を想定している様です。

出典:https://developer.nvidia.com/nvidia-cloudxr-sdk

ハードウェア要件については、RTX Virtual Workstationsを動作させることの出来る性能である必要があります。おそらくRTXシリーズのGPUが必要で、普通のPCやサーバーではダメということです。

NVIDIA CloudXR を NVIDIA RTX Virtual Workstations(vWS)を動作させている強力な GPU と組み合わせると、Google Cloud データセンターの高品質な VR / AR アプリケーションが、インターネットとの接続が良好な場所であればほとんどどこからでも体験できます。重い計算処理はクラウド上の GPU が接続された VM で実行され、コンテンツが CloudXR 対応のヘッドセットへストリーミングされます。

https://cloud.google.com/blog/ja/products/gaming/streaming-vr-and-ar-content-google-cloud-nvidia-cloudxr

開発事例としては、イタリアのハイパーカーメーカーであるPagani Automobili(パガーニ)のバーチャルショールームがあります。

Google Cloud、Unreal Engine、NVIDIA が集結して次世代のバーチャル自動車ショールームを実現 | Google Cloud 公式ブログ
タイトルとURLをコピーしました