Browse Source

Examples: Clean up. (#25633)

Michael Herzog 2 years ago
parent
commit
32ccb62284
1 changed files with 19 additions and 7 deletions
  1. 19 7
      examples/webgl_animation_skinning_ik.html

+ 19 - 7
examples/webgl_animation_skinning_ik.html

@@ -60,6 +60,7 @@
 				followSphere: false,
 				turnHead: true,
 				ik_solver: true,
+				update: updateIK
 			};
 
 			scene = new THREE.Scene();
@@ -84,7 +85,7 @@
 			document.body.appendChild( stats.dom );
 
 			orbitControls = new OrbitControls( camera, renderer.domElement );
-			orbitControls.minDistance = .2;
+			orbitControls.minDistance = 0.2;
 			orbitControls.maxDistance = 1.5;
 			orbitControls.enableDamping = true;
 
@@ -105,8 +106,6 @@
 				if ( n.name === 'boule' ) OOI.sphere = n;
 				if ( n.name === 'Kira_Shirt_left' ) OOI.kira = n;
 
-				if ( n.isMesh ) n.frustumCulled = false;
-
 			} );
 			scene.add( gltf.scene );
 
@@ -121,11 +120,12 @@
 			OOI.sphere.material = mirrorSphereMaterial;
 
 			transformControls = new TransformControls( camera, renderer.domElement );
-			transformControls.size = .75;
+			transformControls.size = 0.75;
 			transformControls.showX = false;
 			transformControls.space = 'world';
 			transformControls.attach( OOI.target_hand_l );
 			scene.add( transformControls );
+		
 			// disable orbitControls while using transformControls
 			transformControls.addEventListener( 'mouseDown', () => orbitControls.enabled = false );
 			transformControls.addEventListener( 'mouseUp', () => orbitControls.enabled = true );
@@ -157,7 +157,7 @@
 			gui.add( conf, 'followSphere' ).name( 'follow sphere' );
 			gui.add( conf, 'turnHead' ).name( 'turn head' );
 			gui.add( conf, 'ik_solver' ).name( 'IK auto update' );
-			gui.add( IKSolver, 'update' ).name( 'IK manual update()' );
+			gui.add( conf, 'update' ).name( 'IK manual update()' );
 			gui.open();
 
 			window.addEventListener( 'resize', onWindowResize, false );
@@ -179,7 +179,7 @@
 
 				// orbitControls follows the sphere
 				OOI.sphere.getWorldPosition( v0 );
-				orbitControls.target.lerp( v0, .1 );
+				orbitControls.target.lerp( v0, 0.1 );
 
 			}
 
@@ -194,7 +194,7 @@
 
 			if ( conf.ik_solver ) {
 
-				if ( IKSolver ) IKSolver.update();
+				updateIK();
 
 			}
 
@@ -207,6 +207,18 @@
 
 		}
 
+		function updateIK() {
+
+			if ( IKSolver ) IKSolver.update();
+
+			scene.traverse( function ( object ) {
+
+				if ( object.isSkinnedMesh ) object.computeBoundingSphere();
+
+			} );
+
+		}
+
 		function onWindowResize() {
 
 			camera.aspect = window.innerWidth / window.innerHeight;