Collision sid BoxCollier2D

Hi there !
I’ve been trying all yesterday and today to destroy my player when he hits the side of a box collider, but i just can’t get it right,
Please help me, what should I look into ? I already know how to destroy my player, but i’m really struggling to destroy my player on collision of only one side of the box collider.
This is the closest i got, just wasn’t quite it :

private float topAngle;
private float sideAngle;

void Start()
{
Vector2 size = GetComponent().size;
size = Vector2.Scale(size, (Vector2)transform.localScale);
topAngle = Mathf.Atan(size.x / size.y) * Mathf.Rad2Deg;
sideAngle = 90.0f - topAngle;
}

void OnCollisionEnter2D(Collision2D coll)
{
Vector3 v = (Vector3)coll.contacts[0].point - transform.position;

if (Vector3.Angle(v, transform.up) <= topAngle)
{
Destroy(coll.gameObject);
Debug.Log(“Collision on top”);
}
else if (Vector3.Angle(v, transform.right) <= sideAngle)
{
}
else if (Vector3.Angle(v, -transform.right) <= sideAngle)
{

}
else
{
}
}

By the way, what are the bbcodes for codes pieces please ?
TY !

I would suggest adding another collider (a very small one at the side of your object) and adding the script to that one.

1 Like