From 6e4f7a5fa7f1944e941019a655ae50868f2a883a Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Mon, 15 Nov 2021 05:32:57 -0500 Subject: [PATCH] USDZExporter: Added console warning when the material type is unsupported. --- examples/jsm/exporters/USDZExporter.js | 32 ++++++++++++++++---------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/examples/jsm/exporters/USDZExporter.js b/examples/jsm/exporters/USDZExporter.js index 9920c129ecc1d5..0741fd6fc23fcf 100644 --- a/examples/jsm/exporters/USDZExporter.js +++ b/examples/jsm/exporters/USDZExporter.js @@ -17,27 +17,35 @@ class USDZExporter { scene.traverseVisible( ( object ) => { - if ( object.isMesh && object.material.isMeshStandardMaterial ) { + if ( object.isMesh ) { - const geometry = object.geometry; - const material = object.material; + if ( object.material.isMeshStandardMaterial ) { - const geometryFileName = 'geometries/Geometry_' + geometry.id + '.usd'; + const geometry = object.geometry; + const material = object.material; - if ( ! ( geometryFileName in files ) ) { + const geometryFileName = 'geometries/Geometry_' + geometry.id + '.usd'; - const meshObject = buildMeshObject( geometry ); - files[ geometryFileName ] = buildUSDFileAsString( meshObject ); + if ( ! ( geometryFileName in files ) ) { - } + const meshObject = buildMeshObject( geometry ); + files[ geometryFileName ] = buildUSDFileAsString( meshObject ); - if ( ! ( material.uuid in materials ) ) { + } - materials[ material.uuid ] = material; + if ( ! ( material.uuid in materials ) ) { - } + materials[ material.uuid ] = material; + + } + + output += buildXform( object, geometry, material ); - output += buildXform( object, geometry, material ); + } else { + + console.warn( 'THREE.USDZExporter: Unsupported material type (USDZ only supports MeshStandardMaterial)', object ); + + } }