diff options
author | UbitUmarov | 2012-05-10 22:44:12 +0100 |
---|---|---|
committer | UbitUmarov | 2012-05-10 22:44:12 +0100 |
commit | 3c37bc2851eb1c8c1ebd164dbf43fbeea427c2b8 (patch) | |
tree | b821d3b3e0694c4d5fd6bcd880927a5f4ef602ac /OpenSim/Region | |
parent | ubitode: changes to vehicles servos (diff) | |
download | opensim-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).
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs | 12 | ||||
-rw-r--r-- | OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs | 3 |
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); |