Browse Source

OBJLoader: Fix material copy for lines and point clouds

Mugen87 6 years ago
parent
commit
a8f888812f
1 changed files with 7 additions and 3 deletions
  1. 7 3
      examples/js/loaders/OBJLoader.js

+ 7 - 3
examples/js/loaders/OBJLoader.js

@@ -688,14 +688,18 @@ THREE.OBJLoader = ( function () {
 						if ( isLine && material && ! ( material instanceof THREE.LineBasicMaterial ) ) {
 						if ( isLine && material && ! ( material instanceof THREE.LineBasicMaterial ) ) {
 
 
 							var materialLine = new THREE.LineBasicMaterial();
 							var materialLine = new THREE.LineBasicMaterial();
-							materialLine.copy( material );
-							materialLine.lights = false; // TOFIX
+							THREE.Material.prototype.copy.call( materialLine, material );
+							materialLine.color.copy( material.color );
+							materialLine.lights = false;
 							material = materialLine;
 							material = materialLine;
 
 
 						} else if ( isPoints && material && ! ( material instanceof THREE.PointsMaterial ) ) {
 						} else if ( isPoints && material && ! ( material instanceof THREE.PointsMaterial ) ) {
 
 
 							var materialPoints = new THREE.PointsMaterial( { size: 10, sizeAttenuation: false } );
 							var materialPoints = new THREE.PointsMaterial( { size: 10, sizeAttenuation: false } );
-							materialLine.copy( material );
+							THREE.Material.prototype.copy.call( materialPoints, material );
+							materialPoints.color.copy( material.color );
+							materialPoints.map = material.map;
+							materialPoints.lights = false;
 							material = materialPoints;
 							material = materialPoints;
 
 
 						}
 						}