ubOde: dont do avatar step climb on small true spheres. lets play simple football

0.9.0-post-fixes
UbitUmarov 2017-07-03 22:47:27 +01:00
parent c5a4c299cb
commit 39751891f4
3 changed files with 8 additions and 2 deletions

View File

@ -944,6 +944,12 @@ namespace OpenSim.Region.PhysicsModule.ubOde
return true; return true;
} }
if (gtype == d.GeomClassID.SphereClass)
{
if(d.GeomSphereGetRadius(other) < 0.5)
return true;
}
if (offset.Z > 0 || contact.normal.Z > 0.35f) if (offset.Z > 0 || contact.normal.Z > 0.35f)
{ {
if (offset.Z <= 0) if (offset.Z <= 0)
@ -980,12 +986,12 @@ namespace OpenSim.Region.PhysicsModule.ubOde
offset.Normalize(); offset.Normalize();
float tdp = contact.depth; float tdp = contact.depth;
float t = contact.normal.Z * contact.normal.Z; float t = offset.X;
t = Math.Abs(t); t = Math.Abs(t);
if(t > 1e-6) if(t > 1e-6)
{ {
tdp /= t; tdp /= t;
tdp *= offset.Z * offset.Z; tdp *= contact.normal.X;
} }
else else
tdp *= 10; tdp *= 10;

Binary file not shown.

Binary file not shown.