diff options
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin')
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index dfcd2bf..9b56fb4 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | |||
@@ -744,7 +744,18 @@ public sealed class BSCharacter : BSPhysObject | |||
744 | // and will send agent updates to the clients if velocity changes by more than | 744 | // and will send agent updates to the clients if velocity changes by more than |
745 | // 0.001m/s. Bullet introduces a lot of jitter in the velocity which causes many | 745 | // 0.001m/s. Bullet introduces a lot of jitter in the velocity which causes many |
746 | // extra updates. | 746 | // extra updates. |
747 | if (!entprop.Velocity.ApproxEquals(RawVelocity, 0.1f)) | 747 | // |
748 | // XXX: Contrary to the above comment, setting an update threshold here above 0.4 actually introduces jitter to | ||
749 | // avatar movement rather than removes it. The larger the threshold, the bigger the jitter. | ||
750 | // This is most noticeable in level flight and can be seen with | ||
751 | // the "show updates" option in a viewer. With an update threshold, the RawVelocity cycles between a lower | ||
752 | // bound and an upper bound, where the difference between the two is enough to trigger a large delta v update | ||
753 | // and subsequently trigger an update in ScenePresence.SendTerseUpdateToAllClients(). The cause of this cycle (feedback?) | ||
754 | // has not yet been identified. | ||
755 | // | ||
756 | // If there is a threshold below 0.4 or no threshold check at all (as in ODE), then RawVelocity stays constant and extra | ||
757 | // updates are not triggered in ScenePresence.SendTerseUpdateToAllClients(). | ||
758 | // if (!entprop.Velocity.ApproxEquals(RawVelocity, 0.1f)) | ||
748 | RawVelocity = entprop.Velocity; | 759 | RawVelocity = entprop.Velocity; |
749 | 760 | ||
750 | _acceleration = entprop.Acceleration; | 761 | _acceleration = entprop.Acceleration; |