Browse Source

Raycaster: Return false to avoid propagation. (#28520)

mrdoob 1 year ago
parent
commit
70d0eb132f
1 changed files with 5 additions and 3 deletions
  1. 5 3
      src/core/Raycaster.js

+ 5 - 3
src/core/Raycaster.js

@@ -101,15 +101,17 @@ function ascSort( a, b ) {
 
 function intersect( object, raycaster, intersects, recursive ) {
 
-	let stopTraversal = false;
+	let propagate = true;
 
 	if ( object.layers.test( raycaster.layers ) ) {
 
-		stopTraversal = object.raycast( raycaster, intersects );
+		const result = object.raycast( raycaster, intersects );
+
+		if ( result === false ) propagate = false;
 
 	}
 
-	if ( recursive === true && stopTraversal !== true ) {
+	if ( propagate === true && recursive === true ) {
 
 		const children = object.children;