aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/UbitOdePlugin
diff options
context:
space:
mode:
authorUbitUmarov2012-07-07 03:16:41 +0100
committerUbitUmarov2012-07-07 03:16:41 +0100
commitd50b852d530bd17f2bb5a7964e9ddf81acff9146 (patch)
tree12f62c914e23750f9e4c5ae6651048d6ef5d71ce /OpenSim/Region/Physics/UbitOdePlugin
parent added llSetVelocity. will refuse to work on vehicles and on attachments ( th... (diff)
downloadopensim-SC_OLD-d50b852d530bd17f2bb5a7964e9ddf81acff9146.zip
opensim-SC_OLD-d50b852d530bd17f2bb5a7964e9ddf81acff9146.tar.gz
opensim-SC_OLD-d50b852d530bd17f2bb5a7964e9ddf81acff9146.tar.bz2
opensim-SC_OLD-d50b852d530bd17f2bb5a7964e9ddf81acff9146.tar.xz
ODE turn off material dependent friction while vehicle linear motor is Effective. Increase a bit world damping of velocities
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Physics/UbitOdePlugin/ODEDynamics.cs9
-rw-r--r--OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs1
-rw-r--r--OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs4
3 files changed, 9 insertions, 5 deletions
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/ODEDynamics.cs b/OpenSim/Region/Physics/UbitOdePlugin/ODEDynamics.cs
index e27be1e..e900c02 100644
--- a/OpenSim/Region/Physics/UbitOdePlugin/ODEDynamics.cs
+++ b/OpenSim/Region/Physics/UbitOdePlugin/ODEDynamics.cs
@@ -137,6 +137,7 @@ namespace OpenSim.Region.Physics.OdePlugin
137 float m_amdampY; 137 float m_amdampY;
138 float m_amdampZ; 138 float m_amdampZ;
139 139
140
140 public float FrictionFactor 141 public float FrictionFactor
141 { 142 {
142 get 143 get
@@ -145,6 +146,7 @@ namespace OpenSim.Region.Physics.OdePlugin
145 } 146 }
146 } 147 }
147 148
149
148 public ODEDynamics(OdePrim rootp) 150 public ODEDynamics(OdePrim rootp)
149 { 151 {
150 rootPrim = rootp; 152 rootPrim = rootp;
@@ -345,7 +347,7 @@ namespace OpenSim.Region.Physics.OdePlugin
345 m_lmDecay = 1.0f - 1.0f / m_linearMotorDecayTimescale; 347 m_lmDecay = 1.0f - 1.0f / m_linearMotorDecayTimescale;
346 m_lmEfect = 1.0f; // turn it on 348 m_lmEfect = 1.0f; // turn it on
347 349
348 m_ffactor = 0.01f; 350 m_ffactor = 0.0f;
349 if (rootPrim.Body != IntPtr.Zero && !d.BodyIsEnabled(rootPrim.Body) 351 if (rootPrim.Body != IntPtr.Zero && !d.BodyIsEnabled(rootPrim.Body)
350 && !rootPrim.m_isSelected && !rootPrim.m_disabled) 352 && !rootPrim.m_isSelected && !rootPrim.m_disabled)
351 d.BodyEnable(rootPrim.Body); 353 d.BodyEnable(rootPrim.Body);
@@ -401,7 +403,7 @@ namespace OpenSim.Region.Physics.OdePlugin
401 m_lmEfect = 1.0f; // turn it on 403 m_lmEfect = 1.0f; // turn it on
402 m_lmDecay = 1.0f - 1.0f / m_linearMotorDecayTimescale; 404 m_lmDecay = 1.0f - 1.0f / m_linearMotorDecayTimescale;
403 405
404 m_ffactor = 0.01f; 406 m_ffactor = 0.0f;
405 if (rootPrim.Body != IntPtr.Zero && !d.BodyIsEnabled(rootPrim.Body) 407 if (rootPrim.Body != IntPtr.Zero && !d.BodyIsEnabled(rootPrim.Body)
406 && !rootPrim.m_isSelected && !rootPrim.m_disabled) 408 && !rootPrim.m_isSelected && !rootPrim.m_disabled)
407 d.BodyEnable(rootPrim.Body); 409 d.BodyEnable(rootPrim.Body);
@@ -805,7 +807,8 @@ namespace OpenSim.Region.Physics.OdePlugin
805 } 807 }
806 808
807 m_lmEfect *= m_lmDecay; 809 m_lmEfect *= m_lmDecay;
808 m_ffactor = 0.01f + 1e-4f * curVel.LengthSquared(); 810// m_ffactor = 0.01f + 1e-4f * curVel.LengthSquared();
811 m_ffactor = 0.0f;
809 } 812 }
810 else 813 else
811 { 814 {
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs
index 9b3b51b..3d8e680 100644
--- a/OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs
@@ -275,6 +275,7 @@ namespace OpenSim.Region.Physics.OdePlugin
275 275
276 if (veh != null && veh.Type != Vehicle.TYPE_NONE) 276 if (veh != null && veh.Type != Vehicle.TYPE_NONE)
277 cdata.mu *= veh.FrictionFactor; 277 cdata.mu *= veh.FrictionFactor;
278// cdata.mu *= 0;
278 } 279 }
279 } 280 }
280 281
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs b/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
index 6c72324..4552f3f 100644
--- a/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
+++ b/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
@@ -526,8 +526,8 @@ namespace OpenSim.Region.Physics.OdePlugin
526 d.WorldSetGravity(world, gravityx, gravityy, gravityz); 526 d.WorldSetGravity(world, gravityx, gravityy, gravityz);
527 d.WorldSetContactSurfaceLayer(world, contactsurfacelayer); 527 d.WorldSetContactSurfaceLayer(world, contactsurfacelayer);
528 528
529 d.WorldSetLinearDamping(world, 0.001f); 529 d.WorldSetLinearDamping(world, 0.002f);
530 d.WorldSetAngularDamping(world, 0.001f); 530 d.WorldSetAngularDamping(world, 0.002f);
531 d.WorldSetAngularDampingThreshold(world, 0f); 531 d.WorldSetAngularDampingThreshold(world, 0f);
532 d.WorldSetLinearDampingThreshold(world, 0f); 532 d.WorldSetLinearDampingThreshold(world, 0f);
533 d.WorldSetMaxAngularSpeed(world, 100f); 533 d.WorldSetMaxAngularSpeed(world, 100f);