Jelajahi Sumber

Add materialOffset parameter to THREE.GeometryUtils.merge.

Tapio Vierros 12 tahun lalu
induk
melakukan
14144f3776
1 mengubah file dengan 4 tambahan dan 2 penghapusan
  1. 4 2
      src/extras/GeometryUtils.js

+ 4 - 2
src/extras/GeometryUtils.js

@@ -7,7 +7,7 @@ THREE.GeometryUtils = {
 
 	// Merge two geometries or geometry and geometry from object (using object's transform)
 
-	merge: function ( geometry1, object2 /* mesh | geometry */ ) {
+	merge: function ( geometry1, object2 /* mesh | geometry */, materialOffset ) {
 
 		var matrix, normalMatrix,
 		vertexOffset = geometry1.vertices.length,
@@ -20,6 +20,8 @@ THREE.GeometryUtils = {
 		uvs1 = geometry1.faceVertexUvs[ 0 ],
 		uvs2 = geometry2.faceVertexUvs[ 0 ];
 
+		materialOffset = materialOffset !== undefined ? materialOffset : 0;
+
 		if ( object2 instanceof THREE.Mesh ) {
 
 			object2.matrixAutoUpdate && object2.updateMatrix();
@@ -95,7 +97,7 @@ THREE.GeometryUtils = {
 
 			}
 
-			faceCopy.materialIndex = face.materialIndex;
+			faceCopy.materialIndex = face.materialIndex + materialOffset;
 
 			faceCopy.centroid.copy( face.centroid );