diff --git a/js/TutoCamera.js b/js/TutoCamera.js index 4264472..ae4d034 100644 --- a/js/TutoCamera.js +++ b/js/TutoCamera.js @@ -157,8 +157,14 @@ TutoCamera.prototype.normalMotion = function(time) { normal.multiplyScalar(-1); } - normal.multiplyScalar(0.01); - this.position.add(normal); + // This is quite ugly, but it allows smooth collisions (well, quite smooth) + this.position.add(direction); + var dir = direction.clone(); + dir.normalize(); + this.position.add(Tools.mul(dir, 300*this.speed)); + var move = (Tools.mul(normal,Tools.diff(vertices[face.a], this.position).dot(normal))); + this.position.add(move); + this.position.sub(Tools.mul(dir, 300*this.speed)); } else { this.position.add(direction); }