SlideShare a Scribd company logo
1 of 40
Try using Azure Remote Rendering
with Hololens2
クラウド側で3Dモデルをレンダリングしてみる
- - Part 3 オリジナルの3Dモデルを表示してみる -
 Part1では、Azure Remote Renderingのサンプルプロジェクト
のQuickstartを動かすまでを解説しています。
https://www.slideshare.net/SatosiOkubo/azure-remote-rendering-3d-part-1-quickstart-231956825
 Part2では、QuickstartにMRTKを組み込みHoloLens2で動かす
までを解説しています。
https://www.slideshare.net/SatosiOkubo/azure-remote-rendering-3d-part-2-quickstartmrtk-231957432
参考
 リモートレンダリングする3Dモデルは、事前にAzureのスト
レージ(コンテナー)に格納する必要があります。また、Remote
Rendering用のオブジェクト形式に変換する必要があります。
 本資料では、Azureのストレージの作成、Remote Rendering
Acountの作成、ストレージ・コンテナーの作成、ストレージの
アクセス権の設定、変換用スクリプトの準備と実際の変換、
3Dモデルをビルトインされているモデルから自分のオリジナ
ルの3Dモデルに切り替えて表示するところまでを解説します。
はじめに
Azureの準備
 リソースグループを選択、追加ボタンを押します。
 任意のリソースグループ名(ResourceGroupWestUS2) 、リージョン
を米国西部2を選択します。
リソースグループの作成
④
 作成したリソースグループを選択します。
 追加ボタンを押します。
リモートレンダリングアカウントの作成
 検索枠で、Remote Renderingを検索。検索結果からRemote
Renderingを選択します。
 作成ボタンを押します。
リモートレンダリングアカウントの作成
 任意のリソース名(MyFirstRendering)、リソースグループに先
ほど作成したグループ名(ResourceGroupWestUS2)を選択しま
す。
 Newボタンを押します。
 ホームに戻ります。
リモートレンダリングアカウントの作成
 リソースグループを選択します。
 作成したリソースグループを選択します。
 Remote Rendering Accountのリージョンをメモ①します。
メモする
①
 Remote RenderingAccountの概要を表示し、Account IDをメモ
します。
メモする
②
 Remote RenderingAccountのAccess Keysを表示し、Primary Key
をメモ③します。
メモする
③
 Homeより、リソースの作成を選択します。
ストレージアカウントの作成
 ストレージアカウントを選択します。
ストレージアカウントの作成
 リソースグループに先ほど作成したものを選択します。
 任意のストレージアカウント名(arrhololens2) 、リージョンを
米国西部2を選択します。
 確認および作成を押します。
ストレージアカウントの作成
⑤
 リソースに移動を押します。
ストレージアカウントの作成
 コンテナ―を選択します。
 +コンテナ―を選択し新しいコンテナーを作成します。
コンテナ―の作成
 新しいコンテナーを2つ作ります。3Dモデルをアップロード
するInput用と、変換したモデルを格納するOutput用のコンテ
ナーとなります。名前は任意(arrinput/arroutput)でつけます。
コンテナ―の作成
⑥ ⑦
 アクセス制御を選択します。ロールの追加ボタンを押します。
ストレージのアクセス権の設定
 3つのロールを作成します。所有者・ストレージアカウント
共同作成者・ストレージBLOBデータ共同作成者の役割を作
成した、 Remote Rendering Accountに割り当てます。
ストレージのアクセス権の設定
 登録結果は下記のようになります。
ストレージのアクセス権の設定
3Dモデル変換の準備
 変換用のスクリプトはPowerShellで動作します。また、Azure
操作用にAzure PowerShellAz モジュールをインストールしま
す。
 PowerShellはWindowsで標準でインストールされていると思
いますが、本内容ではVer.7をインストールして利用する手順
となっています。
準備
 PowerShellをインストールします。下記URLよりダウンロー
ドしてインストールを実行します。
https://github.com/PowerShell/PowerShell
PowerShellのインストール
 スタートメニューからPowerShellを管理者権限で起動します。
 バージョン確認する場合は、$PSVersionTableを叩きます。
PowerShellの起動
 AzモジュールのdownloadもとのPSGalleryリポジトリを信頼す
る設定に変更します。
Get-PSRepositoryで現状の確認を行います。
Set-PSRepository -Name PSGallery -InstallationPolicyTrustedで、
PSGalleryを信頼する設定に変更します。
ダウンロード元を信頼
 PowerShellで下記コマンドを入力します。(※インストール先はカ
レントユーザとしています。)
Install-Module -NameAz -AllowClobber -ScopeCurrentUser
Azモジュールのインストール
変換スクリプトの実行
 ARRのサンプルをgitから取得します。
git clone https://github.com/Azure/azure-remote-rendering
 azure-remote-renderingScriptsフォルダにあるarrconfig.json
ファイルを開き、次ページを参考に書き換えます。
設定ファイルの修正
設定ファイルの修正
 PowerShellを起動します。カレントフォルダを、 azure-
remote-renderingScriptsに移動します。
 Connect-AzAccountコマンドを叩きます。
 https://Microsoft.com/deviceloginをブラウザで開き、表示され
ているコードを入力します
Azureへの接続
 変換を開始します。.Conversion.ps1 –UseContainerSasを叩き
ます。SAS(共有アクセス署名付き)のURIが返却されます。
⑧
Quickstartの実行
Unityプロジェクトを開く
 Unity Hubを起動し、リストに追加を押します。ダウンロードした
フォルダからazure-remote-renderingUnityQuickstartを指定します。
 Unityバージョンを今回は2019.3.9f1
に変更しています。
 Scenesフォルダより、Quickstartシーンを開きます。
 RemoteRenderingを選択し、Inspectorを確認します。
シーンを読み込み
アカウント情報の入力
① Remote Rendering Accountのリージョン (米国東
部:eastus 米国西部2: westus2など)+アカウントド
メイン “.mixedreality.azure.com”
例)eastus.mixedreality.azure.com
② Remote Rendering AccountのAccount ID
③ Remote Rendering AccountのPrimary Key
アカウント情報の入力
⑧作成したモデルのSAS(共有アクセス署名付き)の
URI
 Unityで実行してみます。変換したモデルが表示されたら完成
です。
動作確認
補足説明
 SASの有効期限が24時間のため、期限が切れた場合は新しい
SASを再発行することができます。outputAssetFileNameで指
定したファイルをOutputコンテナーの階層から選択しSASの
生成を押します。
SASの再発行、長い期限のSAS発行
 日本語フォルダ名、ファイル名、アセット名は避けましょう。
 フォルダ階層は浅くしましょう。
 発行されたSASURIの有効期限は24時間です。
 Remote Renderingのセッションを切らずに落ちた場合、残ってい
る間は課金されます。(切れるタイミング未確認)
Remote RenderingのSessionを確認して残っていたら手動で切りま
しょう。
注意点

More Related Content

More from 聡 大久保

More from 聡 大久保 (20)

VRでのUI設計のヒント
VRでのUI設計のヒントVRでのUI設計のヒント
VRでのUI設計のヒント
 
ハードサーフェイスモデリング勉強会(Blender2.79b編)
ハードサーフェイスモデリング勉強会(Blender2.79b編)ハードサーフェイスモデリング勉強会(Blender2.79b編)
ハードサーフェイスモデリング勉強会(Blender2.79b編)
 
Google Tangoで 現実世界を感じてみよう
Google Tangoで現実世界を感じてみようGoogle Tangoで現実世界を感じてみよう
Google Tangoで 現実世界を感じてみよう
 
仮想マシンを仮想空間で見る Cloud roadshow
仮想マシンを仮想空間で見る Cloud roadshow仮想マシンを仮想空間で見る Cloud roadshow
仮想マシンを仮想空間で見る Cloud roadshow
 
AWSのEC2の複数インスタンスからファイルを共有する方法
AWSのEC2の複数インスタンスからファイルを共有する方法AWSのEC2の複数インスタンスからファイルを共有する方法
AWSのEC2の複数インスタンスからファイルを共有する方法
 
Awsで構築したのだよ 06 ec2インスタンス起動時にCloudWatchのアラームを追加する
Awsで構築したのだよ 06 ec2インスタンス起動時にCloudWatchのアラームを追加するAwsで構築したのだよ 06 ec2インスタンス起動時にCloudWatchのアラームを追加する
Awsで構築したのだよ 06 ec2インスタンス起動時にCloudWatchのアラームを追加する
 
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したいAwsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
 
Awsで構築したのだよ 04 ec2インスタンス起動時にホスト名を変更
Awsで構築したのだよ 04 ec2インスタンス起動時にホスト名を変更Awsで構築したのだよ 04 ec2インスタンス起動時にホスト名を変更
Awsで構築したのだよ 04 ec2インスタンス起動時にホスト名を変更
 
Awsで構築したのだよ 03 ec2インスタンスに設定したタグをサーバから取得
Awsで構築したのだよ 03 ec2インスタンスに設定したタグをサーバから取得Awsで構築したのだよ 03 ec2インスタンスに設定したタグをサーバから取得
Awsで構築したのだよ 03 ec2インスタンスに設定したタグをサーバから取得
 
Awsで構築したのだよ 02 ec2インスタンスから自分のインスタンスidを取得
Awsで構築したのだよ 02 ec2インスタンスから自分のインスタンスidを取得Awsで構築したのだよ 02 ec2インスタンスから自分のインスタンスidを取得
Awsで構築したのだよ 02 ec2インスタンスから自分のインスタンスidを取得
 
Awsで構築したのだよ 01 ユーザのコンソール操作をログに残す
Awsで構築したのだよ 01 ユーザのコンソール操作をログに残すAwsで構築したのだよ 01 ユーザのコンソール操作をログに残す
Awsで構築したのだよ 01 ユーザのコンソール操作をログに残す
 
awsを学ぶ上で必要となる前提知識(DB)
awsを学ぶ上で必要となる前提知識(DB)awsを学ぶ上で必要となる前提知識(DB)
awsを学ぶ上で必要となる前提知識(DB)
 
AWSを学ぶ上で必要となる前提知識(SSL)
AWSを学ぶ上で必要となる前提知識(SSL)AWSを学ぶ上で必要となる前提知識(SSL)
AWSを学ぶ上で必要となる前提知識(SSL)
 
Awsを学ぶ上で必要となる前提知識(DNS/LB)
Awsを学ぶ上で必要となる前提知識(DNS/LB)Awsを学ぶ上で必要となる前提知識(DNS/LB)
Awsを学ぶ上で必要となる前提知識(DNS/LB)
 
AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング
AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニングAWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング
AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング
 
iOSバージョン差異(iOS6まで)
iOSバージョン差異(iOS6まで)iOSバージョン差異(iOS6まで)
iOSバージョン差異(iOS6まで)
 
iOSで開発をはじめる前に
iOSで開発をはじめる前にiOSで開発をはじめる前に
iOSで開発をはじめる前に
 
iOSハンズオントレーニング通信(NSURLConnection/NSURLSession)編
iOSハンズオントレーニング通信(NSURLConnection/NSURLSession)編iOSハンズオントレーニング通信(NSURLConnection/NSURLSession)編
iOSハンズオントレーニング通信(NSURLConnection/NSURLSession)編
 
iOSハンズオントレーニング データの永続化編(SQLite3, NSUserDefaults)
iOSハンズオントレーニング データの永続化編(SQLite3, NSUserDefaults)iOSハンズオントレーニング データの永続化編(SQLite3, NSUserDefaults)
iOSハンズオントレーニング データの永続化編(SQLite3, NSUserDefaults)
 
iOSハンズオントレーニング Uikit編
iOSハンズオントレーニング Uikit編iOSハンズオントレーニング Uikit編
iOSハンズオントレーニング Uikit編
 

Azure Remote Rendering クラウド側で3Dモデルをレンダリングしてみる - Part3 オリジナルの3Dモデルを表示してみる -