Browse Source

Remove optionalTarget: More clean up

Mugen87 7 years ago
parent
commit
6ef2798ee0
2 changed files with 10 additions and 2 deletions
  1. 8 1
      src/objects/Mesh.js
  2. 2 1
      src/objects/Points.js

+ 8 - 1
src/objects/Mesh.js

@@ -141,9 +141,11 @@ Mesh.prototype = Object.assign( Object.create( Object3D.prototype ), {
 		var uvC = new Vector2();
 
 		var barycoord = new Vector3();
+		var triangle = new Triangle();
 
 		var intersectionPoint = new Vector3();
 		var intersectionPointWorld = new Vector3();
+		var faceNormal = new Vector3();
 
 		function uvIntersection( point, p1, p2, p3, uv1, uv2, uv3 ) {
 
@@ -210,7 +212,12 @@ Mesh.prototype = Object.assign( Object.create( Object3D.prototype ), {
 
 				}
 
-				intersection.face = new Face3( a, b, c, Triangle.normal( vA, vB, vC ) );
+				var face = new Face3( a, b, c );
+
+				triangle.set( vA, vB, vC ).normal( faceNormal );
+				face.normal.copy( faceNormal );
+
+				intersection.face = face;
 				intersection.faceIndex = a;
 
 			}

+ 2 - 1
src/objects/Points.js

@@ -58,6 +58,7 @@ Points.prototype = Object.assign( Object.create( Object3D.prototype ), {
 			var localThreshold = threshold / ( ( this.scale.x + this.scale.y + this.scale.z ) / 3 );
 			var localThresholdSq = localThreshold * localThreshold;
 			var position = new Vector3();
+			var intersectPoint = new Vector3();
 
 			function testPoint( point, index ) {
 
@@ -65,7 +66,7 @@ Points.prototype = Object.assign( Object.create( Object3D.prototype ), {
 
 				if ( rayPointDistanceSq < localThresholdSq ) {
 
-					var intersectPoint = ray.closestPointToPoint( point );
+					ray.closestPointToPoint( point, intersectPoint );
 					intersectPoint.applyMatrix4( matrixWorld );
 
 					var distance = raycaster.ray.origin.distanceTo( intersectPoint );