diff options
author | Justin Clark-Casey (justincc) | 2014-11-29 00:12:11 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-11-29 00:12:11 +0000 |
commit | 265fe349e00b3ece59ec02e56f83bb7623e9d962 (patch) | |
tree | 42afe816271f54a017fe5f731d905e923ef5d67b /OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsScene.cs | |
parent | Avoid repeated lag-generating continuous attempts to retrieve HG service Urls... (diff) | |
download | opensim-SC-265fe349e00b3ece59ec02e56f83bb7623e9d962.zip opensim-SC-265fe349e00b3ece59ec02e56f83bb7623e9d962.tar.gz opensim-SC-265fe349e00b3ece59ec02e56f83bb7623e9d962.tar.bz2 opensim-SC-265fe349e00b3ece59ec02e56f83bb7623e9d962.tar.xz |
Somewhat improve avatar region crossings by properly preserving velocity when avatar enters the new region.
This commit addresses the following issues were causing velocity to be set to 0 on the new region, disrupting flight in particular
* Full avatar updates contained no velocity information, which does appear to have some effect in testing.
* BulletSim was always setting the velocity to 0 for the new BSCharacter. Now, physics engines take a velocity parameter when setting up characters so we can avoid this.
This patch applies to both Bullet and ODE.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsScene.cs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsScene.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsScene.cs index f53adcb..06a205e 100644 --- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsScene.cs +++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsScene.cs | |||
@@ -80,10 +80,11 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin | |||
80 | return prim; | 80 | return prim; |
81 | } | 81 | } |
82 | 82 | ||
83 | public override PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 size, bool isFlying) | 83 | public override PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 velocity, Vector3 size, bool isFlying) |
84 | { | 84 | { |
85 | BasicActor act = new BasicActor(size); | 85 | BasicActor act = new BasicActor(size); |
86 | act.Position = position; | 86 | act.Position = position; |
87 | act.Velocity = velocity; | ||
87 | act.Flying = isFlying; | 88 | act.Flying = isFlying; |
88 | _actors.Add(act); | 89 | _actors.Add(act); |
89 | return act; | 90 | return act; |