BulletSim: pass up and report the real collision penetration.

user_profiles
Robert Adams 2013-01-23 16:14:15 -08:00
parent a1f78ceb37
commit 1c3d84fe03
6 changed files with 4 additions and 2 deletions

View File

@ -130,6 +130,7 @@ public struct CollisionDesc
public uint bID; public uint bID;
public Vector3 point; public Vector3 point;
public Vector3 normal; public Vector3 normal;
public float penetration;
} }
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct EntityProperties public struct EntityProperties

View File

@ -557,8 +557,9 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters
uint cB = m_collisionArray[ii].bID; uint cB = m_collisionArray[ii].bID;
Vector3 point = m_collisionArray[ii].point; Vector3 point = m_collisionArray[ii].point;
Vector3 normal = m_collisionArray[ii].normal; Vector3 normal = m_collisionArray[ii].normal;
SendCollision(cA, cB, point, normal, 0.01f); float penetration = m_collisionArray[ii].penetration;
SendCollision(cB, cA, point, -normal, 0.01f); SendCollision(cA, cB, point, normal, penetration);
SendCollision(cB, cA, point, -normal, penetration);
} }
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.