From 6bef0c1a6a72f00e4bd7db25af9a7ded43cf8313 Mon Sep 17 00:00:00 2001 From: Philip Rosedale Date: Thu, 5 Jun 2014 17:03:58 -0700 Subject: [PATCH] both left and right hands in animation --- examples/squeezeHands.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/examples/squeezeHands.js b/examples/squeezeHands.js index 3f24fa86b7..e53dd9569c 100644 --- a/examples/squeezeHands.js +++ b/examples/squeezeHands.js @@ -9,8 +9,8 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // -var rightHandAnimation = "https://s3-us-west-1.amazonaws.com/highfidelity-public/animations/HandAnim.fbx"; -var leftHandAnimation = ""; +var rightHandAnimation = "https://s3-us-west-1.amazonaws.com/highfidelity-public/animations/RightHandAnim.fbx"; +var leftHandAnimation = "https://s3-us-west-1.amazonaws.com/highfidelity-public/animations/LeftHandAnim.fbx"; var LEFT = 0; var RIGHT = 1; @@ -18,17 +18,20 @@ var RIGHT = 1; var lastLeftFrame = 0; var lastRightFrame = 0; -var LAST_FRAME = 15.0; // What is the number of the last frame we want to use in the animation? +var LAST_FRAME = 11.0; // What is the number of the last frame we want to use in the animation? +var SMOOTH_FACTOR = 0.80; + Script.update.connect(function(deltaTime) { - var leftTriggerValue = Controller.getTriggerValue(LEFT); - var rightTriggerValue = Controller.getTriggerValue(RIGHT); + var leftTriggerValue = Math.sqrt(Controller.getTriggerValue(LEFT)); + var rightTriggerValue = Math.sqrt(Controller.getTriggerValue(RIGHT)); var leftFrame, rightFrame; - // Average last two trigger frames together for a bit of smoothing - leftFrame = (leftTriggerValue * LAST_FRAME) * 0.5 + lastLeftFrame * 0.5; - rightFrame = (rightTriggerValue * LAST_FRAME) * 0.5 + lastRightFrame * 0.5; + // Average last few trigger frames together for a bit of smoothing + leftFrame = (leftTriggerValue * LAST_FRAME) * (1.0 - SMOOTH_FACTOR) + lastLeftFrame * SMOOTH_FACTOR; + rightFrame = (rightTriggerValue * LAST_FRAME) * (1.0 - SMOOTH_FACTOR) + lastRightFrame * SMOOTH_FACTOR; + if ((leftFrame != lastLeftFrame) && leftHandAnimation.length){ MyAvatar.stopAnimation(leftHandAnimation);