本日は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のポータルを開きます。
②[Remote Rendering]と検索しRemoteRenderingの画面へ移動します。
③Remote Renderingのアカウントを作成します。
ここからは以下のドキュメントに従って作業を行います。
〇サンプルプロジェクトの導入
①PCでコマンドプロンプトを起動しcdコマンドでディレクトリを移動し、以下のコマンドでGitからサンプルプロジェクトをCloneします。
mkdir ARR cd ARR git clone https://github.com/Azure/azure-remote-rendering
筆者の環境ではDドライブにプロジェクトを保存しています。
Dドライブへのディレクトリの移動は次のように行います。
C:\>D:
この状態でdirコマンドで移動するディレクトリ名を見つけcd ディレクトリ名で移動します。
作業が完了すると[ARR]フォルダが作成されています。
②UnityHubを開き[リストに追加]でサンプルプロジェクトを追加します。
[リストに追加]を選択するとフォルダを選択できます。ARR/azure-remote-rendering/Unity/Quickstartを選択します。(2020年9月現在)
③リストに追加したらプロジェクトを開きます。
〇アカウント情報の入力
①QuickStargシーンを開きます。
②Hierarchyウィンドウから[Remote Rendering]を開きます。
③[Remote Rendering]オブジェクトのInspectorウィンドウには[RemoteRendering]コンポーネント、[service]コンポーネント、[AirTapDetector]コンポーネントがアタッチされています。
この[RemoteRendering]コンポーネントに作成したAzure Remote Renderingのアカウント情報を入力します。
このアカウント情報はAzureポータルのRemote Renderingのリソースに記載されています。
〇実行
アカウント情報を入力したらPlayボタンを押しUnityを実行します。
テキストメッセージが表示されsessionIDと状態が示されます。
モデルのダウンロードに時間がかかり筆者環境では3分ほどでStatusがReadyに変わりました。
ダウンロードが完了するとモデルが現れます。
ここで描画されるサンプルモデルは1,870万ポリゴン、稼働部位2073、マテリアル数94と非常に重たいモデルとなっています。
モデルが表示されると[RemoteRendering]オブジェクトの[service]コンポーネントではレンダリングにかかった時間などが表示されます。
〇モデルの構造
読み込まれたモデル(サンプルの場合名前なし)をhierarchyウィンドウから選択しInspectorウィンドウを見ると[RemoteEntitySyncObject]コンポーネントがアタッチされています。
[Show children]を選択すると子オブジェクトとしてモデルの階層が表示されるようになります。
・モデルのカット
シーン内には[CutPlane]オブジェクトがディアクティブ状態であります。これをアクティブにすることでモデルをカットすることができます。
以上でAzure Remote Renderingを導入できました。
〇参考
今回はガチ本さんの記事を参考にRemote Renderingを始めました。ありがとうございます。