Browse Source

Update ColladaExporter not to use empty names

in geometries and materials
Marek Jędrzejewski 6 years ago
parent
commit
190d562b9e

+ 16 - 2
examples/js/exporters/ColladaExporter.js

@@ -220,7 +220,13 @@ THREE.ColladaExporter.prototype = {
 						bufferGeometry.groups :
 						bufferGeometry.groups :
 						[ { start: 0, count: indexCount, materialIndex: 0 } ];
 						[ { start: 0, count: indexCount, materialIndex: 0 } ];
 
 
-				var gnode = `<geometry id="${ meshid }" name="${ g.name || meshid }"><mesh>`;
+				var gnode = `<geometry id="${ meshid }"` +
+					(
+						g.name ?
+							` name="${ g.name }"` :
+							''
+					) +
+					'><mesh>';
 
 
 				// define the geometry node and the vertices for the geometry
 				// define the geometry node and the vertices for the geometry
 				var posName = `${ meshid }-position`;
 				var posName = `${ meshid }-position`;
@@ -493,7 +499,15 @@ THREE.ColladaExporter.prototype = {
 
 
 					'</effect>';
 					'</effect>';
 
 
-				libraryMaterials.push( `<material id="${ matid }" name="${ m.name || matid }"><instance_effect url="#${ matid }-effect" /></material>` );
+				var materialNode = `<material id="${ matid }"` +
+					(
+						m.name ?
+							` name="${ m.name }` :
+							''
+					) +
+					`"><instance_effect url="#${ matid }-effect" /></material>`;
+
+				libraryMaterials.push(materialNode);
 				libraryEffects.push( effectnode );
 				libraryEffects.push( effectnode );
 				materialMap.set( m, matid );
 				materialMap.set( m, matid );
 
 

+ 16 - 2
examples/jsm/exporters/ColladaExporter.js

@@ -231,7 +231,13 @@ ColladaExporter.prototype = {
 						bufferGeometry.groups :
 						bufferGeometry.groups :
 						[ { start: 0, count: indexCount, materialIndex: 0 } ];
 						[ { start: 0, count: indexCount, materialIndex: 0 } ];
 
 
-				var gnode = `<geometry id="${ meshid }" name="${ g.name || meshid }"><mesh>`;
+				var gnode = `<geometry id="${ meshid }"` +
+					(
+						g.name ?
+						` name="${ g.name }"` :
+						''
+					) +
+					'><mesh>';
 
 
 				// define the geometry node and the vertices for the geometry
 				// define the geometry node and the vertices for the geometry
 				var posName = `${ meshid }-position`;
 				var posName = `${ meshid }-position`;
@@ -504,7 +510,15 @@ ColladaExporter.prototype = {
 
 
 					'</effect>';
 					'</effect>';
 
 
-				libraryMaterials.push( `<material id="${ matid }" name="${ m.name || matid }"><instance_effect url="#${ matid }-effect" /></material>` );
+				var materialNode = `<material id="${ matid }"` +
+					(
+						m.name ?
+						` name="${ m.name }` :
+						''
+					) +
+					`"><instance_effect url="#${ matid }-effect" /></material>`;
+
+				libraryMaterials.push(materialNode);
 				libraryEffects.push( effectnode );
 				libraryEffects.push( effectnode );
 				materialMap.set( m, matid );
 				materialMap.set( m, matid );