なんかいろいろしてみます

Jun 5, 2021 - 3 minute read - HoloLens

Azure Remote Rendering の Showcase 導入手順(1.0.7版)

Azure Remote Rendering (ARR) のバージョンが更新されて開発手順が一部変更されていたので,改めて Showcase アプリで ARR モデルを表示する手順を残しておきます.

Azure Remote Rendering (ARR)について

  • ARR の説明と前回の手順はこちらを参考 : Azure Remote Rendering のShowcase導入手順

  • ARR のバージョンが 1.0.7 になりサンプルの Showcase アプリの開発手順に変更があったので,改めて Azure 側の設定と HoloLens 側の設定手順を紹介します.

  • Azure Remote Rendering asset tool (ARRT) を利用した自前データの ARR での表示方法も合わせて紹介します.

ARR サービスは Remote Rendering,Storage に利用料金が発生します.こまめなリソース利用状態の確認をお勧めします.

Azure 側設定

  • ここでは ARR の Azure 側設定を行います.
  • Azure を利用するためのアカウント登録,設定は完了しているものとします.

Remote Rendering 設定

  • ARR 用のリソースグループを作成し リソースの作成 から Remote Rendering を選択,作成を行います.
  • 作成地域は自分の住んでいる場所に近い地域を選択してください.(例 : 日本の場合は東日本)

Storage 設定

  • 自前の 3D データをアップロード,変換して ARR で表示できるようにするため,データ保存用の Storage を用意します.
  • リソースの作成からストレージアカウントを選択し Storage を作成します.
  • 作成地域は自分の住んでいる場所に近い地域を選択してください.
  • Storage 作成後 Remote Rendering がデータにアクセスして利用できるようにするために権限の設定を行います.
  • ストレージアカウントの アクセス制御(IAM) を選択し ロールの割り当て追加(プレビュー) を選択します.
  • ロールの割り当ての追加 のロール項目より ストレージ BLOB データ共同作成者 を選択し次に進みます.
  • メンバー項目の メンバーを選択する から Remote Rendering のリソースを選択しメンバーに追加します.
  • ロール設定後,反映までに最大30分程度かかる場合があります.

認証データ

  • ARR 用アプリから Remote Rendering と Storage を利用するためのデータを確認しておきます.
  • Showcase アプリ,ARRT を利用するときに入力する必要があります.

Remote Rendering

  • 概要

    • アカウントドメイン : Showcase で利用
    • アカウントID : Showcase,ARRT で利用
  • アクセスキー

    • 主キー : Showcase,ARRT で利用

Storage

  • アクセスキー

    • ストレージアカウント名 : Showcase,ARRT で利用
    • キー : Showcase,ARRT で利用
  • エンドポイント

    • プライマリエンドポイント : ARRT で利用

Azure Remote Rendering asset tool (ARRT) によるモデルのアップロード,変換,確認

  • いままではAzure の Storage に自前の3Dモデルをアップロードして変換するにはコマンドラインによる制御が必要でしたが,ARR用のGUIツールが公開されています.

Azure/azure-remote-rendering-asset-tool

  • リリースページから最新版の ARRT.zip をダウンロードし,Arrt.exe を実行します.

  • 画面左上の歯車マークから Azure で設定した Remote Rendering と Storage の認証データを入力します.

  • 入力データが正常であれば,入力欄の左側のバーが緑色になります.

  • Azure Remote Rendering account

    • ID : アカウントID
    • Key : 主キー
  • Azure Storage account

    • Name : ストレージアカウント名
    • Key : キー
    • Blob endpoint : プライマリエンドポイント

3Dモデルのアップロード

  • 3Dモデルには NASA が公開している探査車を利用しています.

  • Upload メニューの Upload files からファイルを選択しアップロードを行います.

  • アップロード先の場所 Blob container には自動で arrt-sourcemodels を利用するようになっています.

3Dモデルの変換

  • Convert メニューに移動し,先ほどアップロードしたデータがリストに表示されているか確認します.
  • アップロードしたファイルを選択して Select Input を押します.
  • ARR 用に変換するファイルと詳細設定(Expand configuration)と出力場所を指定できる画面に移動し,右下の Start conversion から変換を開始できます.
  • 変換後のモデルは自動で arroutput に保存されるようになっています.

3Dモデルの ARR 表示確認

  • ARR 用にモデルの変換が完了したら ARRT 内で ARR の表示確認が行えるようになっています.
  • Render メニューに移動し右上の Session status より ARR を起動します.
  • Size を指定し Start session を押下することで ARR が起動します.

Size には Standard と Premium がありますが,時間当たりの利用料が異なるのでよく確認してください. ARR の起動には数分かかります

  • ARR 起動後 ARR 用の変換済みモデルを選択し Load から ARR モデルの読み込み表示が確認できます.
  • 表示された ARR モデルは自由に回転,移動,パーツごとの確認等ができるようになっています.

Showcase アプリ利用手順

  • HoloLens 2 でも ARR モデルを見るために ARR のサンプルプロジェクトの Showcase アプリを利用します.
  • 以下のプロジェクトを Clone して利用します.
  • https://github.com/Azure/azure-remote-rendering

プロジェクト設定

  • ARR を Unity で利用するために必要なライブラリを追加でダウンロードしておく必要があります.
  • azure-remote-rendering/Scripts/DownloadUnityPackages.ps1 を選択し PowerShell で実行 を行います.
  • 実行後 azure-remote-rendering/Unity/MRPackages 内に以下のパッケージがダウンロードされます.

    • com.microsoft.azure.remote-rendering-1.0.7.tgz
    • com.microsoft.azure.spatial-anchors-sdk.core-2.7.1.tgz
    • com.microsoft.azure.spatial-anchors-sdk.windows-2.7.1.tgz
    • com.microsoft.mixedreality.toolkit.extensions-2.5.1.tgz
    • com.microsoft.mixedreality.toolkit.foundation-2.5.1.tgz
    • com.microsoft.mixedreality.toolkit.standardassets-2.5.1.tgz
    • com.microsoft.mixedreality.toolkit.tools-2.5.1.tgz
  • ダウンロード完了後 Showcase プロジェクト azure-remote-rendering/Unity/Showcase/App を Unity で開きます.

  • Scenes/SampleScene.unity シーンを開き MixedRealityToolkit オブジェクトを選択します.

  • Inspector の Extensions 内にある Remote Rendering Service 欄に Azure で設定した認証データを入力します.

    • Account Id : アカウントID
    • Account Domain : アカウントドメイン
    • Account Key : 主キー

    • Storage Account Name : ストレージアカウント名

    • Storage Model Container : ARRT で出力されたモデルの保存先(arroutput)

    • Storage Account Key : キー

日本ドメイン追加設定

  • Showcase アプリ標準では ARR の Remote Rendering の利用地域に日本が選択できません.
  • ARR はAzure 上でレンダリングされた結果をデバイスで表示するため,物理的な距離により映像遅延が大幅に左右されます.
  • そのため MixedRealityToolkit オブジェクトの Extensions/Remote Rendering ServiceRemote Rendering DomainRemote Rendering Domain Labels を変更します.
    • Remote Rendering Domain のリストを japaneast.mixedreality.azure.com のみ
    • Remote Rendering Domain Labels のリストを Japan East のみ
  • 変更することで日本リージョンのみを選択できるようになります.

実行時 UI 操作説明

  • アプリ起動後に手元に ARR 操作用 UI が表示されます.
  • 手のひらを自分に向けておくと自動的に手の近くに移動するようになっています.

Session

  • ARR の設定と起動,停止を行うことができます.
  • Configure から ARR の プランとリージョンが変更できます.

Share

  • 複数台 HoloLens 2 で ARR モデルを共有して見る時に設定します.
  • 別途 Photon と Azure Spatial Anchor の設定が Unity 上で必要になります.

Models

  • Storage に保存された ARR モデルとデフォルト用意されているエンジンモデルを選択できます.

Tools

  • ARR モデル表示後にモデルの操作,変更が行えるようになります.

Move All

  • ARR モデル全体を移動,回転,拡縮できるようになります.

Erase

  • 選択された ARR モデルを削除します.

Color

  • ARR モデルのパーツ単位で色を変更することができます.

Move Piece

  • ARR モデルをパーツ単位で移動できるようになります.

Explode

  • ARR モデルのパーツを適度にばらけて配置してくれます.

Lighting

  • ARR 内のライティングを変更することができます.

Slice

  • スライスパネルを操作して ARR モデルの断面を見ることができます.

Revert

  • 変更されたモデルのパーツ位置,色を元に戻します.

プランによる表示制限

  • ARR には Standard と Premium のプランがあり Standard には表示モデルの制限があります.
  • 表示制限を超えた場合には画面がチェック模様で覆われて ARR モデルが見えなくなります.
  • 複数 ARR モデルを表示してチェック模様が表示される場合には表示モデルを減らすことで正常に表示されるようになります.