diff options
author | Robert Adams | 2012-11-20 08:34:18 -0800 |
---|---|---|
committer | Robert Adams | 2012-11-21 16:42:34 -0800 |
commit | 2f5fe4b88e8eb0388cc2138c48a941b1317ed560 (patch) | |
tree | 47040fe6c84d9584306c7807a8a98217acfb9045 /OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | |
parent | If GetAgents() is called with an empty userIDs array then don't bother with a... (diff) | |
download | opensim-SC-2f5fe4b88e8eb0388cc2138c48a941b1317ed560.zip opensim-SC-2f5fe4b88e8eb0388cc2138c48a941b1317ed560.tar.gz opensim-SC-2f5fe4b88e8eb0388cc2138c48a941b1317ed560.tar.bz2 opensim-SC-2f5fe4b88e8eb0388cc2138c48a941b1317ed560.tar.xz |
BulletSim: tweek avatar capsule parameters so avatar feet don't go below ground. This solves the bouncing, short avatar problem (Mantis 6403).
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index 3c48dcc..fa1a23f 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | |||
@@ -184,8 +184,8 @@ public sealed class BSCharacter : BSPhysObject | |||
184 | _size = value; | 184 | _size = value; |
185 | ComputeAvatarScale(_size); | 185 | ComputeAvatarScale(_size); |
186 | ComputeAvatarVolumeAndMass(); | 186 | ComputeAvatarVolumeAndMass(); |
187 | DetailLog("{0},BSCharacter.setSize,call,scale={1},density={2},volume={3},mass={4}", | 187 | DetailLog("{0},BSCharacter.setSize,call,size={1},scale={2},density={3},volume={4},mass={5}", |
188 | LocalID, Scale, _avatarDensity, _avatarVolume, RawMass); | 188 | LocalID, _size, Scale, _avatarDensity, _avatarVolume, RawMass); |
189 | 189 | ||
190 | PhysicsScene.TaintedObject("BSCharacter.setSize", delegate() | 190 | PhysicsScene.TaintedObject("BSCharacter.setSize", delegate() |
191 | { | 191 | { |
@@ -619,7 +619,8 @@ public sealed class BSCharacter : BSPhysObject | |||
619 | newScale.Y = PhysicsScene.Params.avatarCapsuleRadius; | 619 | newScale.Y = PhysicsScene.Params.avatarCapsuleRadius; |
620 | 620 | ||
621 | // From the total height, remove the capsule half spheres that are at each end | 621 | // From the total height, remove the capsule half spheres that are at each end |
622 | newScale.Z = size.Z - (newScale.X + newScale.Y); | 622 | // The 1.15f came from ODE. Not sure what this factors in. |
623 | newScale.Z = (size.Z * 1.15f) - (newScale.X + newScale.Y); | ||
623 | Scale = newScale; | 624 | Scale = newScale; |
624 | } | 625 | } |
625 | 626 | ||