From 5d0bd09139295208c037f3c9947541d023aefe6c Mon Sep 17 00:00:00 2001 From: Thomas FORGIONE Date: Thu, 28 May 2015 14:48:29 +0200 Subject: [PATCH] Smooth collisions --- js/TutoCamera.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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); }