aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRobert Adams2016-03-06 11:30:25 -0800
committerRobert Adams2016-03-06 11:30:25 -0800
commitfeb058f5c53b76ab0dab1680d2b0dd15fd2bfa6d (patch)
treee8be1293920acd37e0e72e73a83e714fecf7d544
parentMake mesh upload respect the same parts maximum as what is set for the (diff)
downloadopensim-SC_OLD-feb058f5c53b76ab0dab1680d2b0dd15fd2bfa6d.zip
opensim-SC_OLD-feb058f5c53b76ab0dab1680d2b0dd15fd2bfa6d.tar.gz
opensim-SC_OLD-feb058f5c53b76ab0dab1680d2b0dd15fd2bfa6d.tar.bz2
opensim-SC_OLD-feb058f5c53b76ab0dab1680d2b0dd15fd2bfa6d.tar.xz
BulletSim: Send out avatar position update if velocity is now zero
and it wasn't zero last tick. This will prevent some avatar creeping. Adjust BulletSim default avatar velocity zeroing so the avatar stops sooner.
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs3
-rwxr-xr-xOpenSim/Region/PhysicsModules/BulletS/BSParam.cs2
2 files changed, 4 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index b281e5f..e4c9de1 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -3571,6 +3571,9 @@ namespace OpenSim.Region.Framework.Scenes
3571 !Rotation.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE) 3571 !Rotation.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE)
3572 || !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE) 3572 || !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE)
3573 || !m_pos.ApproxEquals(m_lastPosition, POSITION_LARGETOLERANCE) 3573 || !m_pos.ApproxEquals(m_lastPosition, POSITION_LARGETOLERANCE)
3574 // if velocity is zero and it wasn't zero last time, send the update
3575 || (Velocity == Vector3.Zero && m_lastVelocity != Vector3.Zero)
3576 // if position has moved just a little and velocity is very low, send the update
3574 || (!m_pos.ApproxEquals(m_lastPosition, POSITION_SMALLTOLERANCE) && Velocity.LengthSquared() < LOWVELOCITYSQ ) 3577 || (!m_pos.ApproxEquals(m_lastPosition, POSITION_SMALLTOLERANCE) && Velocity.LengthSquared() < LOWVELOCITYSQ )
3575 ) ) 3578 ) )
3576 { 3579 {
diff --git a/OpenSim/Region/PhysicsModules/BulletS/BSParam.cs b/OpenSim/Region/PhysicsModules/BulletS/BSParam.cs
index 389a441..e34e3a9 100755
--- a/OpenSim/Region/PhysicsModules/BulletS/BSParam.cs
+++ b/OpenSim/Region/PhysicsModules/BulletS/BSParam.cs
@@ -633,7 +633,7 @@ public static class BSParam
633 new ParameterDefn<float>("AvatarAddForcePushFactor", "BSCharacter.AddForce is multiplied by this and mass to be like other physics engines", 633 new ParameterDefn<float>("AvatarAddForcePushFactor", "BSCharacter.AddForce is multiplied by this and mass to be like other physics engines",
634 0.315f ), 634 0.315f ),
635 new ParameterDefn<float>("AvatarStopZeroThreshold", "Movement velocity below which avatar is assumed to be stopped", 635 new ParameterDefn<float>("AvatarStopZeroThreshold", "Movement velocity below which avatar is assumed to be stopped",
636 0.4f, 636 0.45f,
637 (s) => { return (float)AvatarStopZeroThreshold; }, 637 (s) => { return (float)AvatarStopZeroThreshold; },
638 (s,v) => { AvatarStopZeroThreshold = v; AvatarStopZeroThresholdSquared = v * v; } ), 638 (s,v) => { AvatarStopZeroThreshold = v; AvatarStopZeroThresholdSquared = v * v; } ),
639 new ParameterDefn<float>("AvatarBelowGroundUpCorrectionMeters", "Meters to move avatar up if it seems to be below ground", 639 new ParameterDefn<float>("AvatarBelowGroundUpCorrectionMeters", "Meters to move avatar up if it seems to be below ground",