Azure Remote Rendering:モデルをレンダリング用に変換する
https://docs.microsoft.com/ja-jp/azure/remote-rendering/quickstarts/convert-model
Azure Remote Rendering 用に、FBXモデルを変換する方法についての覚書です。Microsoftのチュートリアルを進める際の注意点があります。
準備
Azure PowerShellをインストール
サーバー上のレンダラーは、FBX や GLTF などのソース モデル形式を直接扱うことはできません。 代わりに、モデルを専用のバイナリ形式にする必要があります。 変換サービスは、Azure Blob Storage からのモデルを使用して、変換されたモデルを指定済みの Azure Blob Storage コンテナーに書き戻します。
必要なもの
- Azure サブスクリプション
- サブスクリプション内の “StorageV2" アカウント
- 入力モデル用の BLOB ストレージ コンテナー
- 出力データ用の BLOB ストレージ コンテナー
- 変換対象のモデル。「サンプル モデル」を参照してください。
- サポートされるソース形式の一覧を参照してください。
- サンプル変換スクリプトを使用するには、モデルとすべての外部依存関係 (外部のテクスチャやジオメトリなど) が含まれている入力フォルダーを準備する必要があります
変換元として準備するrobot.fbxは、上記のサンプルモデルサイトからは入手できなかったため、適当にフリのfbxを準備しました。
https://free3d.com/ja/3d-model/iphonex-113534.html
変換対象のfbxは、FBX 2011, FBX 2012 and FBX 2013 の何れかである必要があるらしく、これ以外を変換しようとすると、エラーになっていました。
Error: ERROR: Failed to load file: FBX-DOM unsupported, old format version, supported are only FBX 2011, FBX 2012 and FBX 2013
エラーログは、arrconfig.json の outputFolderPath に指定した Azure ストレージコンテナ(arroutput)以下にできます。
Azure のセットアップ
ストレージ アカウントの作成
BLOB ストレージの作成
変換を実行する
アセット変換サービスの呼び出しを簡単にするためのユーティリティスクリプトConversion.ps1は、gitリポジトリの azure-remote-rendering/Scripts/ にあります。
Scripts/arrconfig.json
に、作成した AccountId などを記載します。
後は、PowerShell で コマンドを実行するとモデルが変換され、その uri (スクリプトの最後に出力されます)を、Unityの Remote Rendering (Script) の Model Name に設定すると、変換後のモデルでレンダリングできるようになります。