From 72928fdbd6f6526149ceeb8c52cf4e8d81c66d9a Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Thu, 14 Jan 2016 10:42:27 -0800 Subject: [PATCH] fix problem where grab stops on slow movement --- libraries/physics/src/ObjectActionSpring.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/physics/src/ObjectActionSpring.cpp b/libraries/physics/src/ObjectActionSpring.cpp index a737a2b8b6..3f2664fb12 100644 --- a/libraries/physics/src/ObjectActionSpring.cpp +++ b/libraries/physics/src/ObjectActionSpring.cpp @@ -63,8 +63,8 @@ void ObjectActionSpring::updateActionWorker(btScalar deltaTimeStep) { btVector3 targetVelocity(0.0f, 0.0f, 0.0f); float speed = (offsetLength > FLT_EPSILON) ? glm::min(offsetLength / _linearTimeScale, SPRING_MAX_SPEED) : 0.0f; + targetVelocity = (-speed / offsetLength) * offset; if (speed > rigidBody->getLinearSleepingThreshold()) { - targetVelocity = (-speed / offsetLength) * offset; rigidBody->activate(); } @@ -92,8 +92,8 @@ void ObjectActionSpring::updateActionWorker(btScalar deltaTimeStep) { // dQ = Q1 * Q0^ btQuaternion deltaQ = target * bodyRotation.inverse(); float speed = deltaQ.getAngle() / _angularTimeScale; + targetVelocity = speed * deltaQ.getAxis(); if (speed > rigidBody->getAngularSleepingThreshold()) { - targetVelocity = speed * deltaQ.getAxis(); rigidBody->activate(); } }