reduce ubOde walking super climbers

LSLKeyTest
UbitUmarov 2016-08-02 21:08:22 +01:00
parent a99df75a30
commit 2d8669ad39
1 changed files with 17 additions and 0 deletions

View File

@ -1108,7 +1108,24 @@ namespace OpenSim.Region.PhysicsModule.ubOde
vec.Z = depth * PID_P * 50; vec.Z = depth * PID_P * 50;
if (!flying) if (!flying)
{
vec.Z += -vel.Z * PID_D; vec.Z += -vel.Z * PID_D;
if(n.Z < 0.4f)
{
vec.X = depth * PID_P * 50 - vel.X * PID_D;
vec.X *= n.X;
vec.Y = depth * PID_P * 50 - vel.Y * PID_D;
vec.Y *= n.Y;
vec.Z *= n.Z;
if(n.Z < 0.1f)
{
// cancel the slope pose
n.X = 0f;
n.Y = 0f;
n.Z = 1.0f;
}
}
}
if (depth < 0.2f) if (depth < 0.2f)
{ {