diff --git a/src/objects/Mesh.js b/src/objects/Mesh.js index 3e22144d75e991be08da66b29943f772a514fa9b..82c7ece323954f799459c3fda936bf487b75d8d9 100644 --- a/src/objects/Mesh.js +++ b/src/objects/Mesh.js @@ -214,7 +214,6 @@ Mesh.prototype = Object.assign( Object.create( Object3D.prototype ), { Triangle.getNormal( vA, vB, vC, face.normal ); intersection.face = face; - intersection.faceIndex = a; } @@ -276,7 +275,7 @@ Mesh.prototype = Object.assign( Object.create( Object3D.prototype ), { if ( intersection ) { - intersection.faceIndex = Math.floor( i / 3 ); // triangle number in indices buffer semantics + intersection.faceIndex = Math.floor( i / 3 ); // triangle number in indexed buffer semantics intersects.push( intersection ); } @@ -295,7 +294,12 @@ Mesh.prototype = Object.assign( Object.create( Object3D.prototype ), { intersection = checkBufferGeometryIntersection( this, raycaster, ray, position, uv, a, b, c ); - if ( intersection ) intersects.push( intersection ); + if ( intersection ) { + + intersection.faceIndex = Math.floor( i / 3 ); // triangle number in non-indexed buffer semantics + intersects.push( intersection ); + + } }