Ver código fonte

Updated vive examples to latest ViveController.

Mr.doob 9 anos atrás
pai
commit
6ef4537000

+ 3 - 0
examples/webvr_vive.html

@@ -230,6 +230,9 @@
 
 				var delta = clock.getDelta() * 60;
 
+				controller1.update();
+				controller2.update();
+
 				controls.update();
 
 				for ( var i = 0; i < room.children.length; i ++ ) {

+ 7 - 5
examples/webvr_vive_paint.html

@@ -369,11 +369,13 @@
 
 			function handleController( controller, id ) {
 
-				var gamepad = controller.getGamepad();
+				controller.update();
 
-				if ( gamepad ) {
+				var pivot = controller.getObjectByName( 'pivot' );
 
-					var matrix = controller.getObjectByName( 'pivot' ).matrixWorld;
+				if ( pivot ) {
+
+					var matrix = pivot.matrixWorld;
 
 					var point1 = controller.userData.points[ 0 ];
 					var point2 = controller.userData.points[ 1 ];
@@ -384,13 +386,13 @@
 					point1.setFromMatrixPosition( matrix );
 					matrix1.lookAt( point2, point1, up );
 
-					if ( gamepad.buttons[ 0 ].pressed ) {
+					if ( controller.getButtonState( 'thumbpad' ) ) {
 
 						color.setHex( Math.random() * 0xffffff );
 
 					}
 
-					if ( gamepad.buttons[ 1 ].pressed ) {
+					if ( controller.getButtonState( 'trigger ') ) {
 
 						if ( line.parent === null ) scene.add( line );
 

+ 8 - 6
examples/webvr_vive_sculpt.html

@@ -239,22 +239,24 @@
 
 			function handleController( controller, id ) {
 
-				var gamepad = controller.getGamepad();
+				controller.update();
+
 				var pivot = controller.getObjectByName( 'pivot' );
 
-				if ( gamepad && pivot ) {
+				if ( pivot ) {
 
 					var matrix = pivot.matrixWorld;
+
 					points[ id ].position.setFromMatrixPosition( matrix );
 					transformPoint( points[ id ].position );
 
-					if ( gamepad.buttons[ 0 ].pressed ) {
+					if ( controller.getButtonState( 'thumbpad' ) ) {
 
 						blob.material.color.setHex( Math.random() * 0xffffff );
 
 					}
 
-					if ( gamepad.buttons[ 1 ].pressed ) {
+					if ( controller.getButtonState( 'trigger' ) ) {
 
 						var strength = points[ id ].strength / 2;
 
@@ -266,7 +268,7 @@
 
 					}
 
-					if ( gamepad.buttons[ 2 ].pressed && id === 0 ) {
+					if ( id === 0 && controller.getButtonState( 'grips' ) ) {
 
 						if ( points.length > 2 ) {
 
@@ -288,7 +290,7 @@
 
 					}
 
-					if ( gamepad.buttons[ 2 ].pressed && id === 1 ) {
+					if ( id === 1 && controller.getButtonState( 'grips' ) ) {
 
 						points[ id ].strength = ( Math.sin( performance.now() / 1000 ) + 1.5 ) / 20.0;