Răsfoiți Sursa

WebGLRenderer: Only update skeletons in frustum (#25937)

Ash Connell 2 ani în urmă
părinte
comite
4865fee0c3
1 a modificat fișierele cu 8 adăugiri și 8 ștergeri
  1. 8 8
      src/renderers/WebGLRenderer.js

+ 8 - 8
src/renderers/WebGLRenderer.js

@@ -1148,20 +1148,20 @@ class WebGLRenderer {
 
 				} else if ( object.isMesh || object.isLine || object.isPoints ) {
 
-					if ( object.isSkinnedMesh ) {
+					if ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) {
 
-						// update skeleton only once in a frame
+						if ( object.isSkinnedMesh ) {
 
-						if ( object.skeleton.frame !== info.render.frame ) {
+							// update skeleton only once in a frame
 
-							object.skeleton.update();
-							object.skeleton.frame = info.render.frame;
+							if ( object.skeleton.frame !== info.render.frame ) {
 
-						}
+								object.skeleton.update();
+								object.skeleton.frame = info.render.frame;
 
-					}
+							}
 
-					if ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) {
+						}
 
 						const geometry = objects.update( object );
 						const material = object.material;