夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

Azure Remote Renderingを始める。 その① QuickStartのサンプルを導入する

本日はAzure枠です。

Azureはチュートリアルやイベント等で何度か触ったことがあるものの自発的に触ることはなかったので、今回から勉強して自分の言葉でまとめます。

〇Azureとは?

 Microsoft社のクラウドサービスです。 100を超えるサービスがあり画像認識や音声認識、Machine LearningといったAIやクラウドストレージ、Mixed Realityにかかわるサービスなど様々です。

 クラウドサービスなのでHoloLensなどの比較的スペックの小さいPCでは処理が追い付かない作業等も行えます。

今回はその中からAzure Remote Renderingを触ってみます。

〇Azure Remote Renderingとは?

 Azure Remote Renderingを用いることでクラウドで処理を行うことで最高品質の3Dモデルとの体験をHoloLens 2などのデバイスで使用できます。

 Azure Remote Renderingではクラウド内で複雑な3Dモデルをレンダリングし、デバイスにリアルタイムでストリーミングすることでこれまで以上に高品質な3Dモデルを描画負荷なしに動かすことができます。

〇Azure Remote Renderingのアカウント作成

①Azureのポータルを開きます。

f:id:Holomoto-Sumire:20200917143650j:plain

②[Remote Rendering]と検索しRemoteRenderingの画面へ移動します。

f:id:Holomoto-Sumire:20200917143801j:plain

③Remote Renderingのアカウントを作成します。

f:id:Holomoto-Sumire:20200917144051j:plain

ここからは以下のドキュメントに従って作業を行います。

docs.microsoft.com

〇サンプルプロジェクトの導入

①PCでコマンドプロンプトを起動しcdコマンドでディレクトリを移動し、以下のコマンドでGitからサンプルプロジェクトをCloneします。

mkdir ARR
cd ARR
git clone https://github.com/Azure/azure-remote-rendering

筆者の環境ではDドライブにプロジェクトを保存しています。

Dドライブへのディレクトリの移動は次のように行います。

C:\>D:

この状態でdirコマンドで移動するディレクトリ名を見つけcd ディレクトリ名で移動します。

作業が完了すると[ARR]フォルダが作成されています。

f:id:Holomoto-Sumire:20200917145422j:plain

②UnityHubを開き[リストに追加]でサンプルプロジェクトを追加します。

[リストに追加]を選択するとフォルダを選択できます。ARR/azure-remote-rendering/Unity/Quickstartを選択します。(2020年9月現在)

③リストに追加したらプロジェクトを開きます。

f:id:Holomoto-Sumire:20200917150347j:plain

〇アカウント情報の入力

①QuickStargシーンを開きます。

f:id:Holomoto-Sumire:20200917150635j:plain

②Hierarchyウィンドウから[Remote Rendering]を開きます。

③[Remote Rendering]オブジェクトのInspectorウィンドウには[RemoteRendering]コンポーネント、[service]コンポーネント、[AirTapDetector]コンポーネントがアタッチされています。

f:id:Holomoto-Sumire:20200917151035j:plain

この[RemoteRendering]コンポーネントに作成したAzure Remote Renderingのアカウント情報を入力します。

このアカウント情報はAzureポータルのRemote Renderingのリソースに記載されています。

f:id:Holomoto-Sumire:20200917151355j:plain

〇実行

アカウント情報を入力したらPlayボタンを押しUnityを実行します。

テキストメッセージが表示されsessionIDと状態が示されます。

モデルのダウンロードに時間がかかり筆者環境では3分ほどでStatusReadyに変わりました。

ダウンロードが完了するとモデルが現れます。

f:id:Holomoto-Sumire:20200917152811j:plain

ここで描画されるサンプルモデルは1,870万ポリゴン、稼働部位2073、マテリアル数94と非常に重たいモデルとなっています。

モデルが表示されると[RemoteRendering]オブジェクトの[service]コンポーネントではレンダリングにかかった時間などが表示されます。

f:id:Holomoto-Sumire:20200917154133j:plain

〇モデルの構造

 読み込まれたモデル(サンプルの場合名前なし)をhierarchyウィンドウから選択しInspectorウィンドウを見ると[RemoteEntitySyncObject]コンポーネントがアタッチされています。

 f:id:Holomoto-Sumire:20200917154704j:plain

[Show children]を選択すると子オブジェクトとしてモデルの階層が表示されるようになります。

f:id:Holomoto-Sumire:20200917154819j:plain

・モデルのカット

シーン内には[CutPlane]オブジェクトがディアクティブ状態であります。これをアクティブにすることでモデルをカットすることができます。

f:id:Holomoto-Sumire:20200917155105j:plain

以上でAzure Remote Renderingを導入できました。

〇参考

qiita.com

今回はガチ本さんの記事を参考にRemote Renderingを始めました。ありがとうございます。