変換に関する情報を取得する
変換に関する情報: 結果ファイル
変換サービスは、資産を変換するときに、問題の概要を結果ファイルに書き込みます。
たとえば、ファイル buggy.gltf
が変換される場合、出力コンテナーには buggy.result.json
というファイルが格納されます。
結果ファイルには、変換中に発生したエラーと警告が一覧表示され、succeeded
、failed
、または succeeded with warnings
という結果の概要が示されます。
結果ファイルは、オブジェクトの JSON 配列として構成されます。各オブジェクトには、warning
、error
、internal warning
、internal error
、result
のいずれかの文字列プロパティが含まれます。
エラーは最大 1 つ (error
または internal error
) あり、result
は常に 1 つあります。
"結果" ファイルの例
次の例では、arrAsset が正常に生成された変換について説明します。 ただし、テクスチャが不足していたため、結果として得られる arrAsset は意図したとおりではない可能性があります。
[
{"conversionId":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"},
{"warning":"4004","title":"Missing texture","details":{"texture":"buggy_baseColor.png","material":"buggy_col"}},
{"result":"succeeded with warnings"}
]
Note
conversionId
は、変換を作成するために使われた ID とは関係のない内部 ID です。
変換されたモデルに関する情報: 情報ファイル
変換サービスによって生成された arrAsset ファイルは、レンダリング サービスによる使用のみを目的としています。 ただし、レンダリング セッションを開始せずにモデルに関する情報にアクセスしたい場合があります。 このワークフローをサポートするために、変換サービスによって、arrAsset ファイルとは別に JSON ファイルが出力コンテナー内に配置されます。 たとえば、ファイル buggy.gltf
が変換される場合、出力コンテナーには、変換された資産 buggy.arrAsset
とは別に buggy.info.json
というファイルが格納されます。 これには、ソース モデル、変換されたモデル、および変換自体に関する情報が含まれています。
info ファイルの例
次に、buggy.gltf
というファイルを変換して生成される info ファイルの例を示します。
{
"files": {
"input": "Buggy.gltf"
},
"conversionSettings": {
"recenterToOrigin": true
},
"inputInfo": {
"sourceAssetExtension": ".gltf",
"sourceAssetFormat": "glTF2 Importer",
"sourceAssetFormatVersion": "2.0",
"sourceAssetGenerator": "COLLADA2GLTF"
},
"inputStatistics": {
"numMeshes": 148,
"numFaces": 308306,
"numVertices": 245673,
"numMaterial": 149,
"numFacesSmallestMesh": 2,
"numFacesBiggestMesh": 8764,
"numNodes": 206,
"numMeshUsagesInScene": 236,
"maxNodeDepth": 3
},
"materialOverrides": {
"numOverrides": 4,
"numOverriddenMaterials": 4
},
"outputInfo": {
"conversionToolVersion": "3b28d840de9916f9d628342f474d38c3ab949590",
"conversionHash": "CCDB1F7A4C09F565"
},
"outputStatistics": {
"numMeshPartsCreated": 236,
"numMeshPartsInstanced": 88,
"numMaterials": 149,
"numPrimitives": 308306,
"recenteringOffset": [
-24.1,
-50.9,
-16.5974
],
"boundingBox": {
"min": [
-43.52,
-61.775,
-79.6416
],
"max": [
43.52,
61.775,
79.6416
]
}
}
}
info ファイル内の情報
files セクション
このセクションには、指定されたファイル名が含まれています。
input
: ソース ファイルの名前。output
: ユーザーが既定以外の名前を指定した場合の出力ファイルの名前。
conversionSettings セクション
このセクションには、モデルが変換されたときに指定された ConversionSettings のコピーが保持されます。
inputInfo セクション
このセクションには、ソース ファイル形式に関する情報が記録されます。
sourceAssetExtension
: ソース ファイルのファイル拡張子。sourceAssetFormat
: ソース ファイル形式の説明。sourceAssetFormatVersion
: ソース ファイル形式のバージョン。sourceAssetGenerator
: ソース ファイルを生成したツールの名前 (使用可能な場合)。
materialOverrides セクション
このセクションには、変換サービスに素材のオーバーライド ファイルが提供された場合の素材のオーバーライドに関する情報が示されます。 次の情報が含まれています。
numOverrides
: 素材のオーバーライド ファイルから読み取られたオーバーライド エントリの数。numOverriddenMaterials
: オーバーライドされた素材の数。
このセクションは、ポイント クラウド変換には存在しません。
inputStatistics セクション
このセクションでは、ソース シーンに関する情報が提供されます。 多くの場合、このセクションの値と、ソース モデルを作成したツールの同等の値には相違点があります。 エクスポートと変換の手順中にモデルは変更されるため、このような違いは想定されます。
このセクションの内容は、三角形メッシュとポイント クラウドでは異なります。
numMeshes
: 各パーツが 1 つの素材を参照できるメッシュ パーツの数。numFaces
: ソース モデル内の三角形の合計数。 出力プリミティブの正確な数については、出力セクションのnumPrimitives
エントリを参照してください。numVertices
: ソース モデル内の頂点の合計数。numMaterial
: ソース モデル内の素材の合計数。numFacesSmallestMesh
: モデルの最小メッシュの三角形/ポイントの数。numFacesBiggestMesh
: モデルの最大メッシュの三角形/ポイントの数。numNodes
: モデルのシーン グラフ内のノードの数。numMeshUsagesInScene
: ノードからメッシュが参照される回数。 複数のノードから同じメッシュが参照される場合があります。maxNodeDepth
: シーン グラフ内のノードの最大深度。
outputInfo セクション
このセクションには、生成された出力に関する一般的な情報が記録されます。
conversionToolVersion
: モデル コンバーターのバージョン。conversionHash
: レンダリングに寄与できる arrAsset 内のデータのハッシュ。 変換サービスを同じファイルに対して再実行したときに、異なる結果が生成されたかどうかを把握するために使用できます。
outputStatistics セクション
このセクションには、変換された資産から計算された情報が記録されます。 繰り返しになりますが、セクションには、三角形メッシュとポイント クラウドで異なる情報が保持されています。
numPrimitives
: 変換後のモデルに含まれる三角形/線の合計数。 この数値は、標準レンダリング サーバー サイズのプリミティブな制限に寄与します。numMeshPartsCreated
: arrAsset 内のメッシュの数。 インスタンス化は変換プロセスの影響を受けるため、inputStatistics
セクションのnumMeshes
とは異なる場合があります。numMeshPartsInstanced
: arrAsset で再利用されるメッシュの数。numMaterials
: 素材重複除去した後の、モデル内の固有の素材の総数。recenteringOffset
: ConversionSettings のrecenterToOrigin
オプションが有効な場合、この値は、変換されたモデルを元の位置に戻す変換です。boundingBox
: モデルの境界。