見出し画像

Unity Render Streaming - Mac M1 chipによるサンプル動作確認

WebRTC技術を用いたリアルタイム通信を行うUnity Render Streamingについて、M1チップのMac上でサンプルの動作を確認しましたので、その流れを記載します。

本記事は以下のUnity公式のチュートリアルを参考にしました。

https://docs.unity3d.com/Packages/com.unity.renderstreaming@3.1/manual/index.html

本記事のゴール

  • Unity Render Streamingのサンプルの動作確認。

筆者環境

  • Macbook Air

  • macOS Monterey 12.3.1 Apple M1

  • Unity 2021.3.01f

  • Unity Render Streaming 3.1.0-exp.3(※ 3.1.0-exp.2 から M1 Macのサポートがされています。)

手順

1. Unity Render Streamingの導入

  • 「Windows」> 「Package Manager」で、パッケージマネージャを開きます。

  • 歯車のアイコンを押して、Advanced Project Settingsを押して設定画面を開きます。

  • 以下画像のEnable Pre-release Packagesにチェックをつけます。

  • 設定画面を閉じ、パッケージマネージャの画面の+のアイコンを押して、「Add package from git URL」をクリックします。

  • 以下のように`com.unity.renderstreaming@3.1.0-exp.3`を入力して、「Add」をクリックします。

  • Input Systemを有効にしたいというWarningが発生するので、「Yes」をクリックします。するとUnityが再起動されます。

  • サンプルの動作確認をしたい場合、画像のように「Samples」の「Import」ボタンをクリックします。

  • Importが完了すると、Assets以下に「Examples」が追加されているのがわかります。

  • ここまでで一旦サンプル実行環境の構築がひと段落しました。

2. シグナリングサーバ用実行ファイルの取得・立ち上げ

  • Unity Render StreamingはWebRTCベースなのでシグナリングサーバを用意する必要があります。

  • シグナリングサーバ用のWeb Appを「Edit」>「Render Streaming」>「Download Web App」からダウンロードします。

  • `webserver_mac`という実行ファイルがダウンロードされます。

  • 本実行ファイルには実行権限がないため、以下のコマンドで実行権限をつけます。

chmod +x webserver_mac
  • サンプルの動作確認のため、本WebアプリケーションをWebSocketモード(`-w`)で実行します。

./webserver_mac -w
  • 以下のようなが画面が出れば成功です。

  • 出力に記載されているようにlocalhost以外にも公開されているので、注意が必要です。

3. サンプルの実行

  • `Examples`の中から`Broadcast`のサンプルをみつけてシーンをダブルクリックします。

  • 再生ボタンからUnityのアプリケーションをデバッグ実行します。

  • ログ上に`Signaling: WS connected.`と表示されていれば、成功です。

4. ブラウザからの確認

  • すでに立ち上がっているシグナリングサーバはWebサーバとしても動作しています。localhostにアクセスすると、以下のようなサンプルに対するWebページが表示されます

  • 先ほど選んだ`Broadcast`に対応するWeb側のページである`Receiver Sample`をクリックします。すると以下のような画面となります。

  • 再生マークを押すと、Unityアプリケーションから送られるストリーミング画像を映し出すことができます。

  • ここまででUnityアプリケーションからWebページへの画像転送の疎通動作を確認できました。

この記事が気に入ったらサポートをしてみませんか?