Azure Remote Rendering(ARR) に関して、ドキュメントを順に追っていくよりも、以下の順で進めるのが効率が良いと感じたのでおすすめの進め方についてまとめてみました。この流れでまずは動くものを確認した上で詳細を確認していくのが良いように思います。
※価格に関しての注意点:クライアントのアプリとクラウド上のVMが接続されていなくても、VMが起動している時間で課金されます。一定時間経過すると自動的にVMが停止するようになっていますが、必要ない場合は明示的にセッションを停止するようにしておくと良いと思います。停止方法については以下の「セッションの停止方法」参照
進め方
Azureのリソース設定(これをしないことには始まりません、サンプルの確認もできない)
Azure Remote Rendering アカウントの作成
- Account ID をメモする
- Access Keys タブの Primary key をメモする
-
- レンダリングの設定に使用したのと同じ location にするのが理想と書かれている
- Account Name をメモする
- Account Key をメモする
- モデルの出力先用に作成した コンテナ名をメモする(ドキュメントではarroutput)
サンプルを動かす
- Quickstarts
- ビルトインモデルである約1800万ポリゴンのエンジンが表示される
- arr-showcase-app
- GitHub
- コンテナに格納したモデルを表示でき、部品の選択・移動やマテリアルやライトの変更などができる
- Quickstarts
オリジナルのモデルを確認する
スクラッチでUnityの実装をする
セッションの停止方法
Azure ポータルから(これが一番簡単かつ確実だと思います)
Quickstarts アプリの場合
Auto-Stop Session にチェックを入れると Play 終了後セッションを停止する
Auto-Stop Session arr-showcase-app アプリの場合
インスペクタにセッション操作ボタンがある
Stop Session チュートリアルのアプリの場合
-
- PowerShell によるセッションの停止
- このドキュメントのPrerequisites に書かれている Azure PowerShell をインストールしておく必要がある
- Azure アカウントへの接続
Connect-AzAccount -Subscription <subscriptionID>
- セッションの確認方法
.\RenderingSession.ps1 -GetSessions
- セッションの停止方法
.\RenderingSession.ps1 -StopSession -Id <sessionID>
おまけ
arr-showcase-app アプリにおいて Azure のアカウント情報は RemoteRenderingService オブジェクトのインスペクタで設定するようになっていますが、以下のような arr.account.xml をStreamingAssetsに格納するか、もしくは、arr.overrides.xml を Application.persistentDataPath に格納することでもアカウント情報を設定することができます。(arr.account.xml についてはドキュメントで触れられているもののどのような内容を記載すればいいのかが書かれていなかったのでソースを確認しました)
<?xml version="1.0" encoding="utf-8"?> <Configuration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Account> <AccountDomains> <AccountDomain>eastus.mixedreality.azure.com</AccountDomain> <AccountDomain>westeurope.mixedreality.azure.com</AccountDomain> <AccountDomain>westus2.mixedreality.azure.com</AccountDomain> <AccountDomain>southeastasia.mixedreality.azure.com</AccountDomain> </AccountDomains> <AccountId>★アカウント情報</AccountId> <AccountKey>★アカウントキー</AccountKey> </Account> <Storage> <StorageAccountName>★ストレージ名</StorageAccountName> <StorageAccountKey>★ストレージのアカウントキー</StorageAccountKey> <StorageModelContainer>★モデルを格納したコンテナ</StorageModelContainer> </Storage> <Session> <MaxLeaseTime>300</MaxLeaseTime> <AutoRenewLease>true</AutoRenewLease> <AutoReconnect>true</AutoReconnect> <AutoReconnectRate>15.0</AutoReconnectRate> </Session> </Configuration>
ドキュメントのピックアップ
概要
ドキュメント
GitHub
価格
利用可能なリージョン
制限
ネットワーク要件
C# API