本日は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を使用したことで非常に効率的に実行できました。
本日は以上です。