Azure Remote Rendering セットアップ手順

シェアする

Azure Remote Renderingの使い方、設定方法をまとめました。

Azureが何なのかもわからん私がアカウント作るとこから初めた全部入り備忘録。
公式ドキュメントをなぞったものですがちょいちょいハマリポイントがあったので補足しながら書いてます。

※Azure Remote Renderingの概要はこちらの記事が参考になります
Azure Remote Rendering(プレビュー)概要
Azure Remote Rendering 公式サンプル徹底解説

Azure Remote Rendrering 公式ページ

こちら

Azureの無料アカウントを作成

Azureのアカウントを作成するところから始める。

公式ページ下にあるリンクからアクセス。

無料で始める

各項目を入力

登録完了の画面

※このままデモの登録も可能

Azureを知るのに役立ちそうなリンク
オンラインウェビナー一覧
オンラインコースの受講
FAQとヘルプ
Azure ポータル クイックスタートページ

環境構築

下準備

公式ページ下にあるリンクからチュートリアルページへアクセス

Azure Remote Rendering 公式ドキュメント

System requirements ページを確認しVisual StudioやUnity等必要なものをインストール

Azure Remote Rendering アカウントの作成

Remote Renderingするためのアカウントを用意する。
アカウントと書いてあるので更にアカウント作るのかと混乱したが「リモートレンダリングするための機能をインストールする」イメージ?(ちゃんと分かってない)

こちらのページを参考に進める

まずリソースを作成

Remote Renderingを検索

作成

名前を付ける

※ここで付けた名前がそれぞれ以下のように表示される

Nextを押すとデプロイが始まるのでその間にアカウントIDをメモする

そのまましばらく待ちデプロイが完了したらリソースに移動

Access Keysからプライマリキーをメモする

Strageアカウントの作成

変換前のデータと変換後のデータを保存するためのアカウントを作る。
このアカウントの中に保存するための場所(コンテナー)を作成する事となる。

こちらの手順を参考に進める。

まずリソースの追加

ストレージアカウントを選択

各項目を入力

– リソースグループ
スクショでは新規となっているが上記手順でリソースグループは作られているいるはずなのでそのグループを選択する(この記事の場合は”lilea”という名前)
– 場所
近い方が良い気がしたので(Asia Pacific) 東日本とした
– ストレージアカウント名
入力したものがここの名称となる

検証および作成ボタンを押し、検証が完了したら再度作成ボタンを押す

Blobストレージの作成

上記手順で作成したストレージアカウントの中に、データを保存するための場所を作る。

こちらの後半の手順を参考に進める。

Blobサービスからコンテナーを追加する

同様の手順でアウトプット用とインプット用と2つ作成する

インプット用(変換前データ)をarrinput
アウトプット用(変換後データ)をarroutputとした。

ストレージアカウントをリンクする

「ストレージアカウントをリンクする」の意味は―

ストレージアカウントがリンクされている場合、たとえばモデルをロードするときなど、アカウントのデータを操作するたびにSAS URIを生成する必要はありません。代わりに、モデルのロードセクションで説明されているように、ストレージアカウント名を直接使用できます。

こちらの手順を参考に進める。

選択欄に名前を入れても以下のエラーが出てアカウントが見つからず割り当てられない時は―
このサブスクリプションでマネージド ID Remote Rendering アカウントが見つかりませんでした
アクセスの割り当て先を空欄にして置くことで割り当てられた。

同じ手順で3つのロールを設定する。
– Owner (所有者)
– Storage Account Contributor
– Storage Blob Data Contributor

Unityのセットアップ

こちらの手順を参考に進める。

Azure Remote Rendering 用のディレクトリを作成しGitからクローン
git clone https://github.com/Azure/azure-remote-rendering

ダウンロードしたデータの中にあるUnityプロジェクトQuickstartを開く

Quickstartシーンを開きAccount Domain、Account ID、Account Keyを入力する

  • Account Domeinn
    リストはこちら
    https://remoterendering.southeastasia.mixedreality.azure.com
    ではなく
    southeastasia.mixedreality.azure.com
    の形式で入力する。

  • Account ID はこちらからコピー 

  • Account Key はこちらからコピー 

設定が完了したらシーンを再生する。
Game画面でセッションステータスがStarting...になっているのを確認する。

VMの起動とモデルのDLで描画されるまで数分かかる。
しばらくするとデフォルトで用意されているハイポリなエンジンのモデルが表示される!

オリジナルのモデルを用意する

こちらの手順を参考に進める。

上記手順でGitからクローンしたデータの中にConversion.ps1スクリプトがあるのでこれを使う

スクリプトの内容

  1. 指定されたディレクトリ内のすべてのファイルをローカルディスクから入力ストレージコンテナにアップロードします
  2. 入力ストレージコンテナーからデータを取得し、変換IDを返す変換を開始するアセット変換REST APIを呼び出します
  3. 変換プロセスが成功または失敗して終了するまで、取得した変換IDで変換ステータスAPIをポーリングします
  4. 出力ストレージ内の変換されたアセットへのリンクを取得します

jsonの編集

上記同フォルダにあるjsonファイルを編集する。
IDやストレージの場所、変換したいモデルのファイル名等をここで指定する。

  • ArrAcoundID

  • arrAccountKey

  • resorceGroup / strageAccountName

  • blobInputContainerName / bloboutputContainerName

  • region

  • localAssetDirectoryPath / inputAssetPath

Azureへのログイン

jsonの準備ができたらPowerShellを起動しAzureにログインする。
以下のコマンドを実行。
Connect-AzAccount

上記の様に用語 'Connect-AzAccount' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。
とエラーが出て弾かれる場合はモジュールをインストールする。
参考: Azure PowerShell Az module をインストールする

モジュールインストールコマンドはこちら。
stall-Module -Name Az -AllowClobber

インストール後に以下のコマンドでモジュールを最新のものに更新する。
Update-Module -Name Az

完了したら再度Azureログインコマンドを実行する。
Connect-AzAccount

ダイアログが表示されるのでログインする。

モデルを変換する

Conversion.ps1が置かれた階層へ移動する。
cd D:\Git\ARR\azure-remote-rendering\Scripts
変換コマンドを実行。
.\Conversion.ps1 -UseContainerSas

変換が完了するとSAS URIが発行されるのでこれをメモしておく。

このURIの有効期限は24時間。
24時間を経過した場合はこちらの手順で再発行する。

この時コンテナ内には変換前のデータと変換後のデータが格納されている。

  • arrinput内に保存された変換前のデータ

  • arroutput内に保存された変換後のデータ

Unityでモデルを表示する

Quickstartプロジェクトを開きModel Name欄に上記手順で生成されたSAS URIを入力

シーンを再生する。
Game画面でセッションステータスがStarting...になっているのを確認する。

数分後に変換したモデルが表示される!

HoloLensにビルドする

こちらの手順を参考に進める。

プラットフォームをUWPに変更する。

後はいつもどおりデプロイ。

以上で重いモデルもHoloLensで見れるようになった!

Azure Remote Rendering Showcase アプリ

ここまでの手順ではUnityプロジェクトQuickstartを使ってきたが、モデルを確認するにはこちらのShowcaseアプリが便利。
公式ドキュメント内の解説ページ
GitHub
設定方法や使い方はこちらに記載されている。

モデルのダウンロードに失敗する

コンナナ内のモデルを選択しダウンロード出来る仕組みとなっているが―

以下のエラーが出てダウンロードに失敗する場合がある。
Failed to load model from 'https://~~'. Reason: Load model failed with status 'FileDownloadFailed'.

コンテナへアクセス出来ないことが原因なので以下の手順でアクセスレベルを変更する。

変換後のモデルが格納されているコンテナ(ここではarroutput)を選択

アクセスレベルを変更する
これによりダウンローが可能になる。
参考: ARR Showcase App – Failed to load model

環境構築完了後のワークフロー

モデルの変換

  1. arrconfig.jsonを編集する
    "inputAssetPath": "<ファイル名>.glb"
  2. PowerShellを起動
  3. Azureにログイン
    Connect-AzAccount
  4. スクリプトのある階層へ移動
    cd D:\Git\ARR\azure-remote-rendering\Scripts
  5. 変換コマンドを実行。
    .\Conversion.ps1 -UseContainerSas

出来上がったもの