![見出し画像](https://assets.st-note.com/production/uploads/images/81013944/rectangle_large_type_2_901a832b0d7a60a63d1b81d88264175c.png?width=1200)
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」で、パッケージマネージャを開きます。
![](https://assets.st-note.com/img/1655628637434-B5otjLooT4.png?width=1200)
歯車のアイコンを押して、Advanced Project Settingsを押して設定画面を開きます。
![](https://assets.st-note.com/img/1655628671729-Vvg1xMJdP5.png?width=1200)
以下画像のEnable Pre-release Packagesにチェックをつけます。
![](https://assets.st-note.com/img/1655628696836-f050sYMWtd.png?width=1200)
設定画面を閉じ、パッケージマネージャの画面の+のアイコンを押して、「Add package from git URL」をクリックします。
![](https://assets.st-note.com/img/1655628721331-NVhhlPMYwP.png?width=1200)
以下のように`com.unity.renderstreaming@3.1.0-exp.3`を入力して、「Add」をクリックします。
![](https://assets.st-note.com/img/1655628758359-mG1y389BAF.png?width=1200)
Input Systemを有効にしたいというWarningが発生するので、「Yes」をクリックします。するとUnityが再起動されます。
![](https://assets.st-note.com/img/1655628769097-0afA0z0kQb.png?width=1200)
サンプルの動作確認をしたい場合、画像のように「Samples」の「Import」ボタンをクリックします。
![](https://assets.st-note.com/img/1655628830290-TAeY72rWhx.png?width=1200)
Importが完了すると、Assets以下に「Examples」が追加されているのがわかります。
![](https://assets.st-note.com/img/1655628846344-07Ybc4OB0M.png?width=1200)
ここまでで一旦サンプル実行環境の構築がひと段落しました。
2. シグナリングサーバ用実行ファイルの取得・立ち上げ
Unity Render StreamingはWebRTCベースなのでシグナリングサーバを用意する必要があります。
シグナリングサーバ用のWeb Appを「Edit」>「Render Streaming」>「Download Web App」からダウンロードします。
![](https://assets.st-note.com/img/1655628876941-ggWcBerLn0.png?width=1200)
`webserver_mac`という実行ファイルがダウンロードされます。
本実行ファイルには実行権限がないため、以下のコマンドで実行権限をつけます。
chmod +x webserver_mac
サンプルの動作確認のため、本WebアプリケーションをWebSocketモード(`-w`)で実行します。
./webserver_mac -w
以下のようなが画面が出れば成功です。
![](https://assets.st-note.com/img/1655628899032-Odvm9wgrfU.png?width=1200)
出力に記載されているようにlocalhost以外にも公開されているので、注意が必要です。
3. サンプルの実行
`Examples`の中から`Broadcast`のサンプルをみつけてシーンをダブルクリックします。
![](https://assets.st-note.com/img/1655628931957-bFEIJpbcVH.png?width=1200)
再生ボタンからUnityのアプリケーションをデバッグ実行します。
![](https://assets.st-note.com/img/1655628941012-ocoEkancAf.png?width=1200)
ログ上に`Signaling: WS connected.`と表示されていれば、成功です。
4. ブラウザからの確認
すでに立ち上がっているシグナリングサーバはWebサーバとしても動作しています。localhostにアクセスすると、以下のようなサンプルに対するWebページが表示されます
![](https://assets.st-note.com/img/1655628963656-gSwVK3shRx.png?width=1200)
先ほど選んだ`Broadcast`に対応するWeb側のページである`Receiver Sample`をクリックします。すると以下のような画面となります。
![](https://assets.st-note.com/img/1655628976217-ii9My8SWbi.png?width=1200)
再生マークを押すと、Unityアプリケーションから送られるストリーミング画像を映し出すことができます。
![](https://assets.st-note.com/img/1655628986879-uB8m9feGZC.png?width=1200)
ここまででUnityアプリケーションからWebページへの画像転送の疎通動作を確認できました。
この記事が気に入ったらサポートをしてみませんか?