diff options
author | Yuri Chebotarev <ychebotarev@productengine.com> | 2010-07-02 15:27:08 +0300 |
---|---|---|
committer | Yuri Chebotarev <ychebotarev@productengine.com> | 2010-07-02 15:27:08 +0300 |
commit | 04838e411be0c7996fcddff5cccecb0df20db63f (patch) | |
tree | 7dcf7485bef071c0755f8d16f7f104fb0c2f8338 /indra/llcharacter | |
parent | 0cf9168895b1d7b69e4a0307ade6cbc607f799f2 (diff) | |
parent | 3b9c7d3403b7b5aa7f1709cf5498bbe583f2e309 (diff) |
merge
--HG--
branch : product-engine
Diffstat (limited to 'indra/llcharacter')
-rw-r--r-- | indra/llcharacter/llkeyframewalkmotion.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/indra/llcharacter/llkeyframewalkmotion.cpp b/indra/llcharacter/llkeyframewalkmotion.cpp index 0587e5642c..4a1aca62bc 100644 --- a/indra/llcharacter/llkeyframewalkmotion.cpp +++ b/indra/llcharacter/llkeyframewalkmotion.cpp @@ -289,7 +289,8 @@ BOOL LLWalkAdjustMotion::onUpdate(F32 time, U8* joint_mask) F32 foot_speed = speed - ((foot_slip_vector * avatar_movement_dir) / delta_time); // multiply animation playback rate so that foot speed matches avatar speed - F32 desired_speed_multiplier = llclamp(speed / foot_speed, 0.f, ANIM_SPEED_MAX); + F32 min_speed_multiplier = clamp_rescale(speed, 0.f, 1.f, 0.f, 0.1f); + F32 desired_speed_multiplier = llclamp(speed / foot_speed, min_speed_multiplier, ANIM_SPEED_MAX); // blend towards new speed adjustment value F32 new_speed_adjust = lerp(mAdjustedSpeed, desired_speed_multiplier, LLCriticalDamp::getInterpolant(SPEED_ADJUST_TIME_CONSTANT)); |