From 7f420692958e05f9e2277911627b730c3066ae70 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 18 Apr 2012 03:02:28 +0100 Subject: ubitODE - retouch character PIDs --- OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region/Physics/UbitOdePlugin') diff --git a/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs index b9ec6b5..b28bc4a 100644 --- a/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs @@ -683,7 +683,7 @@ namespace OpenSim.Region.Physics.OdePlugin PID_D *= m_mass / _parent_scene.ODE_STEPSIZE; PID_P /= 50 * 80; PID_P *= m_mass / _parent_scene.ODE_STEPSIZE; - + Body = d.BodyCreate(_parent_scene.world); d.BodySetAutoDisableFlag(Body, false); @@ -862,10 +862,10 @@ namespace OpenSim.Region.Physics.OdePlugin float depth = terrainheight - chrminZ; if (!flying) { - vec.Z = -vel.Z * PID_D * 1.5f + depth * PID_P * 30; + vec.Z = -vel.Z * PID_D * 3f + depth * PID_P * 60; } else - vec.Z = depth * PID_P * 30; + vec.Z = depth * PID_P * 60; if (depth < 0.1f) { @@ -1171,7 +1171,7 @@ namespace OpenSim.Region.Physics.OdePlugin CAPSULE_LENGTH = caplen; AvatarGeomAndBodyCreation(_position.X, _position.Y, - _position.Z + (Math.Abs(CAPSULE_LENGTH - prevCapsule) * 2)); + _position.Z + (CAPSULE_LENGTH - prevCapsule) * 0.5f); Velocity = Vector3.Zero; -- cgit v1.1