diff --git a/examples/webvr_cubes.html b/examples/webvr_cubes.html
index 2af86ae6c1c9ebdd437df26ca9f6ab8194f90ded..02c89070bc457141e6dd2c384941702b5b1c0dd3 100644
--- a/examples/webvr_cubes.html
+++ b/examples/webvr_cubes.html
@@ -35,6 +35,8 @@
//
+ var clock = new THREE.Clock();
+
var container;
var camera, scene, raycaster, renderer;
var effect, controls;
@@ -177,6 +179,8 @@
function render() {
+ var delta = clock.getDelta() * 60;
+
if ( isMouseDown === true ) {
var cube = room.children[ 0 ];
@@ -184,9 +188,9 @@
cube.position.set( 0, 0, - 0.75 );
cube.position.applyQuaternion( camera.quaternion );
- cube.userData.velocity.x = ( Math.random() - 0.5 ) * 0.02;
- cube.userData.velocity.y = ( Math.random() - 0.5 ) * 0.02;
- cube.userData.velocity.z = ( Math.random() * 0.01 - 0.05 );
+ cube.userData.velocity.x = ( Math.random() - 0.5 ) * 0.02 * delta;
+ cube.userData.velocity.y = ( Math.random() - 0.5 ) * 0.02 * delta;
+ cube.userData.velocity.z = ( Math.random() * 0.01 - 0.05 ) * delta;
cube.userData.velocity.applyQuaternion( camera.quaternion );
room.add( cube );
@@ -224,7 +228,7 @@
var cube = room.children[ i ];
- cube.userData.velocity.multiplyScalar( 0.999 );
+ cube.userData.velocity.multiplyScalar( 1 - ( 0.001 * delta ) );
cube.position.add( cube.userData.velocity );
@@ -249,9 +253,9 @@
}
- cube.rotation.x += cube.userData.velocity.x * 2;
- cube.rotation.y += cube.userData.velocity.y * 2;
- cube.rotation.z += cube.userData.velocity.z * 2;
+ cube.rotation.x += cube.userData.velocity.x * 2 * delta;
+ cube.rotation.y += cube.userData.velocity.y * 2 * delta;
+ cube.rotation.z += cube.userData.velocity.z * 2 * delta;
}
diff --git a/examples/webvr_rollercoaster.html b/examples/webvr_rollercoaster.html
index b291f1600f53b1d79c04a0e16da5845a4ea0d6f7..d7dfa0c13a9a37d97bb5e2b32563cf9d3306a7ff 100644
--- a/examples/webvr_rollercoaster.html
+++ b/examples/webvr_rollercoaster.html
@@ -204,10 +204,14 @@
var velocity = 0;
var progress = 0;
+ var clock = new THREE.Clock();
+
function animate( time ) {
effect.requestAnimationFrame( animate );
+ var delta = clock.getDelta() * 60;
+
for ( var i = 0; i < funfairs.length; i ++ ) {
funfairs[ i ].rotation.y = time * 0.0002;
@@ -216,7 +220,7 @@
//
- progress += velocity;
+ progress += velocity * delta;
progress = progress % 1;
position.copy( curve.getPointAt( progress ) );
@@ -226,7 +230,7 @@
tangent.copy( curve.getTangentAt( progress ) );
- velocity -= tangent.y * 0.0000015;
+ velocity -= tangent.y * 0.0000015 * delta;
velocity = Math.max( velocity, 0.00004 );
train.lookAt( lookAt.copy( position ).sub( tangent ) );
diff --git a/examples/webvr_vive.html b/examples/webvr_vive.html
index c374852537a736ecaae638a6d250ac03acce07af..aa89b93235e2566152574107c6e7d32f42799c28 100755
--- a/examples/webvr_vive.html
+++ b/examples/webvr_vive.html
@@ -38,6 +38,8 @@
//
+ var clock = new THREE.Clock();
+
var container;
var camera, scene, renderer;
var effect, controls;
@@ -226,6 +228,8 @@
function render() {
+ var delta = clock.getDelta() * 60;
+
controls.update();
for ( var i = 0; i < room.children.length; i ++ ) {
@@ -257,7 +261,7 @@
}
- cube.rotation.x += 0.01;
+ cube.rotation.x += 0.01 * delta;
}