1
0
Эх сурвалжийг харах

Fix(OutlinePass):Exclude Line2 objects from outline computation (#31503)

wl_p 8 сар өмнө
parent
commit
76ff87ad2a

+ 17 - 17
examples/jsm/postprocessing/OutlinePass.js

@@ -494,37 +494,37 @@ class OutlinePass extends Pass {
 
 		function VisibilityChangeCallBack( object ) {
 
-			if ( object.isMesh || object.isSprite ) {
+			if ( object.isPoints || object.isLine || object.isLine2 ) {
 
-				// only meshes and sprites are supported by OutlinePass
+				// the visibility of points and lines is always set to false in order to
+				// not affect the outline computation
 
-				if ( ! selectionCache.has( object ) ) {
+				if ( bVisible === true ) {
 
-					const visibility = object.visible;
+					object.visible = visibilityCache.get( object ); // restore
 
-					if ( bVisible === false || visibilityCache.get( object ) === true ) {
+				} else {
 
-						object.visible = bVisible;
+					visibilityCache.set( object, object.visible );
+					object.visible = bVisible;
 
-					}
+				}
 
-					visibilityCache.set( object, visibility );
+			} else if ( object.isMesh || object.isSprite) {
 
-				}
+				// only meshes and sprites are supported by OutlinePass
 
-			} else if ( object.isPoints || object.isLine ) {
+				if ( ! selectionCache.has( object ) ) {
 
-				// the visibility of points and lines is always set to false in order to
-				// not affect the outline computation
+					const visibility = object.visible;
 
-				if ( bVisible === true ) {
+					if ( bVisible === false || visibilityCache.get( object ) === true ) {
 
-					object.visible = visibilityCache.get( object ); // restore
+						object.visible = bVisible;
 
-				} else {
+					}
 
-					visibilityCache.set( object, object.visible );
-					object.visible = bVisible;
+					visibilityCache.set( object, visibility );
 
 				}
 

粤ICP备19079148号