本日はUnity枠です。
〇RenderStreamingとは?
RenderStreamingはUnityが提供するクラウドレンダリングを実現するパッケージです。
WebRTCの技術を用いてネットワークを経由してリモートで処理を実行できるのが特徴です。
通常HDRPプロジェクトはハイエンドデバイスのみがサポートされていますが、RenderStreamingを用いることで例えばスマートフォーンなどでもHDRPのアプリケーションを実行可能です。
前回はサンプルを動かしました。
今回はスマホARを実行します。
〇環境
・Unity2022.3.5f1 (HDRP)
・Windows 11PC
・iPhone 12ProMax
・AR Foundation
・XR Plugin Management
〇サンプルアプリの導入
RenderStreamingのサンプルにはARFaundationのサンプルが含まれており、今回はこれを動かすことを目的としていきます。
HDRPのプロジェクトではiPhoneに向けてビルドができないため、別のURPプロジェクトを作成してスマホ用のプロジェクトとしています。
サンプルを実行するためにはARFaundation及びXRPluginManagementに加え自身のプラットフォームに合わせてARkitもしくはARCoreを導入する必要があります。
今回はiPhoneで実行するためARKitを導入します。
①XRPluginManagementからARkitのチェックボックスを有効にします。

②ARFoundationシーンを開きます。
シーンはAssets/Samples/Unity Render Streaming/3.1.0-exp.7/Example/ARFoundation/ARFoundation.unityにあります。

iPhoneにビルドようにXRPluginManegimentでARKitにチェックを入れPlayerSettingsでRequires ARKit supportにちぇくを入れます。

③BuildSettingsでSammple以下のMenu、Broadcast、ARFoundationのシーンを追加しビルドします。

ビルドしたファイルをXCodeを使用してiPhoneへデプロイします。(ここでは説明を省略します。)
〇サンプルアプリの実行
前提として今回はiPhoneとWindowsをTailscaleを使用してVPN接続してアクセスできるようにしています。
①WindowsPCでコマンドプロンプトからwebserver.exeを起動します。

②WindowsPCでUnityEditorのMenuシーンを実行します。
③TypeをHttpに変更しBroadcastを選択します。

④webserver.exeを実行しているコマンドプロンプトを確認します。

⑤iPhoneアプリを起動します。
⑥AddressをPC側のローカルIPアドレスを入力します。
この際に:80というポートを指定します。

⑦ARのボタンを選択します。

⑧Startボタンを押すことでUnityEditorの画面が表示されます。
このシーンではスマートフォンの挙動に合わせてスマホVRとして動かすことができます。

以上でスマホAR(現時点ではVRですが)でHDRPのRenderStreamingを実行できました。
今回参考にさせていただいたこちらの記事ではサーバーを立てていますが、今回は筆者のプライベートデバイスのみで実行するためVPNを使用したことで非常に効率的に実行できました。
本日は以上です。