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

変換元として準備する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

アセット変換サービスの呼び出しを簡単にするためのユーティリティスクリプトConversion.ps1は、gitリポジトリの azure-remote-rendering/Scripts/ にあります。

Scripts/arrconfig.json に、作成した AccountId などを記載します。

後は、PowerShell で コマンドを実行するとモデルが変換され、その uri (スクリプトの最後に出力されます)を、Unityの Remote Rendering (Script) の Model Name に設定すると、変換後のモデルでレンダリングできるようになります。