Browse Source

Collada files normally name the materials, so this adds the name property to the material and puts that name value into it.

Khang Duong 13 years ago
parent
commit
a802288e1d
1 changed files with 3 additions and 1 deletions
  1. 3 1
      src/extras/loaders/ColladaLoader.js

+ 3 - 1
src/extras/loaders/ColladaLoader.js

@@ -735,13 +735,15 @@ THREE.ColladaLoader = function () {
 					for ( j = 0; j < instance_materials.length; j ++ ) {
 					for ( j = 0; j < instance_materials.length; j ++ ) {
 
 
 						var inst_material = instance_materials[j];
 						var inst_material = instance_materials[j];
-						var effect_id = materials[inst_material.target].instance_effect.url;
+						var mat = materials[instance_material.target];
+						var effect_id = mat.instance_effect.url;
 						var shader = effects[effect_id].shader;
 						var shader = effects[effect_id].shader;
 
 
 						shader.material.opacity = !shader.material.opacity ? 1 : shader.material.opacity;
 						shader.material.opacity = !shader.material.opacity ? 1 : shader.material.opacity;
 						used_materials[inst_material.symbol] = num_materials;
 						used_materials[inst_material.symbol] = num_materials;
 						used_materials_array.push(shader.material)
 						used_materials_array.push(shader.material)
 						first_material = shader.material;
 						first_material = shader.material;
+						first_material.name = mat.name == null || mat.name === '' ? mat.id : mat.name;
 						num_materials ++;
 						num_materials ++;
 
 
 					}
 					}