aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2012-05-10 22:44:12 +0100
committerUbitUmarov2012-05-10 22:44:12 +0100
commit3c37bc2851eb1c8c1ebd164dbf43fbeea427c2b8 (patch)
treeb821d3b3e0694c4d5fd6bcd880927a5f4ef602ac
parentubitode: changes to vehicles servos (diff)
downloadopensim-SC_OLD-3c37bc2851eb1c8c1ebd164dbf43fbeea427c2b8.zip
opensim-SC_OLD-3c37bc2851eb1c8c1ebd164dbf43fbeea427c2b8.tar.gz
opensim-SC_OLD-3c37bc2851eb1c8c1ebd164dbf43fbeea427c2b8.tar.bz2
opensim-SC_OLD-3c37bc2851eb1c8c1ebd164dbf43fbeea427c2b8.tar.xz
reduce avatars terminal velocity to less than 30m/s or colisions with basic boxs fail badly. (ode lib problem. chode just may support a bit higher velocity due to the use of tilt).
-rw-r--r--OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs12
-rw-r--r--OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs3
2 files changed, 9 insertions, 6 deletions
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs
index b884b62..43b4581 100644
--- a/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs
+++ b/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs
@@ -734,9 +734,9 @@ namespace OpenSim.Region.Physics.OdePlugin
734 d.JointSetAMotorParam(Amotor, (int)d.JointParam.Vel2, 0); 734 d.JointSetAMotorParam(Amotor, (int)d.JointParam.Vel2, 0);
735 d.JointSetAMotorParam(Amotor, (int)d.JointParam.Vel3, 0); 735 d.JointSetAMotorParam(Amotor, (int)d.JointParam.Vel3, 0);
736 736
737 d.JointSetAMotorParam(Amotor, (int)dParam.FMax, 5e6f); 737 d.JointSetAMotorParam(Amotor, (int)dParam.FMax, 5e8f);
738 d.JointSetAMotorParam(Amotor, (int)dParam.FMax2, 5e6f); 738 d.JointSetAMotorParam(Amotor, (int)dParam.FMax2, 5e8f);
739 d.JointSetAMotorParam(Amotor, (int)dParam.FMax3, 5e6f); 739 d.JointSetAMotorParam(Amotor, (int)dParam.FMax3, 5e8f);
740 } 740 }
741 741
742 /// <summary> 742 /// <summary>
@@ -784,6 +784,8 @@ namespace OpenSim.Region.Physics.OdePlugin
784 // the Amotor still lets avatar rotation to drift during colisions 784 // the Amotor still lets avatar rotation to drift during colisions
785 // so force it back to identity 785 // so force it back to identity
786 786
787
788
787 d.Quaternion qtmp; 789 d.Quaternion qtmp;
788 qtmp.W = 1; 790 qtmp.W = 1;
789 qtmp.X = 0; 791 qtmp.X = 0;
@@ -1004,9 +1006,9 @@ namespace OpenSim.Region.Physics.OdePlugin
1004 } 1006 }
1005 } 1007 }
1006 1008
1007 if (velLengthSquared > 2500.0f) // 50m/s apply breaks 1009 if (velLengthSquared > 625.0f) // 25m/s apply breaks
1008 { 1010 {
1009 breakfactor = 0.16f * m_mass; 1011 breakfactor = 0.31f * m_mass;
1010 vec.X -= breakfactor * vel.X; 1012 vec.X -= breakfactor * vel.X;
1011 vec.Y -= breakfactor * vel.Y; 1013 vec.Y -= breakfactor * vel.Y;
1012 vec.Z -= breakfactor * vel.Z; 1014 vec.Z -= breakfactor * vel.Z;
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs b/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
index ca83dd7..e0de6cc 100644
--- a/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
+++ b/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
@@ -536,7 +536,8 @@ namespace OpenSim.Region.Physics.OdePlugin
536 // This is in addition to the step size. 536 // This is in addition to the step size.
537 // Essentially Steps * m_physicsiterations 537 // Essentially Steps * m_physicsiterations
538 d.WorldSetQuickStepNumIterations(world, m_physicsiterations); 538 d.WorldSetQuickStepNumIterations(world, m_physicsiterations);
539 d.WorldSetContactMaxCorrectingVel(world, 100.0f); 539
540 d.WorldSetContactMaxCorrectingVel(world, 50.0f);
540 541
541 spacesPerMeter = 1 / metersInSpace; 542 spacesPerMeter = 1 / metersInSpace;
542 spaceGridMaxX = (int)(WorldExtents.X * spacesPerMeter); 543 spaceGridMaxX = (int)(WorldExtents.X * spacesPerMeter);