- Home /
Question by
PcMaster24 · Mar 01, 2014 at 01:25 PM ·
2djavascriptcollisionrigidbody
Different results between "ContactPoint" and "ContactPoint2D"
Hi , i'm trying to get a starter kit working with the new unity 4.3 2D collisions.
So far so good but i have one last problem ,i need to use OnCollision2D for Wall Jumps and other things but with OnCollisionStay2D : collisionInfo return different results from OnCollisionStay.
function OnCollisionStay2D(collisionInfo : Collision2D){
if(!playerMovement.player_can_move)return;
for (var contact : ContactPoint2D in collisionInfo.contacts) {
Debug.DrawRay(contact.point, contact.normal * 10, Color.blue);
if(GetComponent(CircleCollider2D))
{
Debug.Log(transform.TransformPoint(contact.point).x);
if(transform.InverseTransformPoint(contact.point).x<-0.2)
wall_left=true;
if(transform.InverseTransformPoint(contact.point).x>0.2)
wall_right=true;
}
}
}
3D scene : Debug.Log(transform.TransformPoint(contact.point).x) => is always (>-0.2 or <0.2) if no wall is touched.
2D scene : Debug.Log(transform.TransformPoint(contact.point).x) => i have (>-0.2 or <0.2) when i land from a jump but the value just change incrementally when player move right/left with no limits.
A picture with more details http://img15.hostingpics.net/pics/258273Capturedcran20140301113412.jpg
Comment