diff options
author | Robert Adams | 2012-11-26 10:47:34 -0800 |
---|---|---|
committer | Robert Adams | 2012-11-26 10:47:34 -0800 |
commit | 5685b33071c683c41643fcb78d6f8a28d98db468 (patch) | |
tree | 3e180ef8124130c127823fefabed217031df6dd9 /OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | |
parent | BulletSim: use m_angularMotor to do the basic movement. Add the setting of sa... (diff) | |
download | opensim-SC_OLD-5685b33071c683c41643fcb78d6f8a28d98db468.zip opensim-SC_OLD-5685b33071c683c41643fcb78d6f8a28d98db468.tar.gz opensim-SC_OLD-5685b33071c683c41643fcb78d6f8a28d98db468.tar.bz2 opensim-SC_OLD-5685b33071c683c41643fcb78d6f8a28d98db468.tar.xz |
BulletSim: increase vehicle stability by suppressing Bullet's update to angular velocity.
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSScene.cs')
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index 805e670..09b1423 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | |||
@@ -515,9 +515,9 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters | |||
515 | collidersCount = 0; | 515 | collidersCount = 0; |
516 | } | 516 | } |
517 | 517 | ||
518 | // Don't have to use the pointers passed back since we know it is the same pinned memory we passed in | 518 | // Don't have to use the pointers passed back since we know it is the same pinned memory we passed in. |
519 | 519 | ||
520 | // Get a value for 'now' so all the collision and update routines don't have to get their own | 520 | // Get a value for 'now' so all the collision and update routines don't have to get their own. |
521 | SimulationNowTime = Util.EnvironmentTickCount(); | 521 | SimulationNowTime = Util.EnvironmentTickCount(); |
522 | 522 | ||
523 | // If there were collisions, process them by sending the event to the prim. | 523 | // If there were collisions, process them by sending the event to the prim. |
@@ -563,6 +563,7 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters | |||
563 | ObjectsWithCollisions.Remove(po); | 563 | ObjectsWithCollisions.Remove(po); |
564 | ObjectsWithNoMoreCollisions.Clear(); | 564 | ObjectsWithNoMoreCollisions.Clear(); |
565 | } | 565 | } |
566 | // Done with collisions. | ||
566 | 567 | ||
567 | // If any of the objects had updated properties, tell the object it has been changed by the physics engine | 568 | // If any of the objects had updated properties, tell the object it has been changed by the physics engine |
568 | if (updatedEntityCount > 0) | 569 | if (updatedEntityCount > 0) |
@@ -586,9 +587,8 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters | |||
586 | 587 | ||
587 | // The physics engine returns the number of milliseconds it simulated this call. | 588 | // The physics engine returns the number of milliseconds it simulated this call. |
588 | // These are summed and normalized to one second and divided by 1000 to give the reported physics FPS. | 589 | // These are summed and normalized to one second and divided by 1000 to give the reported physics FPS. |
589 | // We multiply by 55 to give a recognizable running rate (55 or less). | 590 | // Multiply by 55 to give a nominal frame rate of 55. |
590 | return numSubSteps * m_fixedTimeStep * 1000 * 55; | 591 | return (float)numSubSteps * m_fixedTimeStep * 1000f * 55f; |
591 | // return timeStep * 1000 * 55; | ||
592 | } | 592 | } |
593 | 593 | ||
594 | // Something has collided | 594 | // Something has collided |
@@ -1172,7 +1172,7 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters | |||
1172 | (s) => { return s.m_params[0].avatarFriction; }, | 1172 | (s) => { return s.m_params[0].avatarFriction; }, |
1173 | (s,p,l,v) => { s.UpdateParameterObject(ref s.m_params[0].avatarFriction, p, l, v); } ), | 1173 | (s,p,l,v) => { s.UpdateParameterObject(ref s.m_params[0].avatarFriction, p, l, v); } ), |
1174 | new ParameterDefn("AvatarStandingFriction", "Avatar friction when standing. Changed on avatar recreation.", | 1174 | new ParameterDefn("AvatarStandingFriction", "Avatar friction when standing. Changed on avatar recreation.", |
1175 | 0.99f, | 1175 | 10.0f, |
1176 | (s,cf,p,v) => { s.m_params[0].avatarStandingFriction = cf.GetFloat(p, v); }, | 1176 | (s,cf,p,v) => { s.m_params[0].avatarStandingFriction = cf.GetFloat(p, v); }, |
1177 | (s) => { return s.m_params[0].avatarStandingFriction; }, | 1177 | (s) => { return s.m_params[0].avatarStandingFriction; }, |
1178 | (s,p,l,v) => { s.m_params[0].avatarStandingFriction = v; } ), | 1178 | (s,p,l,v) => { s.m_params[0].avatarStandingFriction = v; } ), |