Я пытаюсь выстрелить пулю (rigidbody2d, boxcollider2d) в другой объект противника (rigidbody2d, кинематический, circlecollider2d). Я хочу точку столкновения между этими двумя. Когда они сталкиваются, я хочу эффект частиц столкновения и от точки контакта, я хочу создать 5 камневых объектов, движущихся в разных направлениях. Как мне это достичь? Проблема в том, что контактная точка i кажется неправильной. Эффект столкновения частиц создается при столкновении, но объекты горных пород создаются в некоторой другой точке, близкой к точке контакта, но не в точке контакта. Также как я перемещаю объекты горных пород в разных направлениях после их создания?OnCollisionEnter2D некорректный адрес для контактов? - Unity2D
мой код:
void OnCollisionEnter2D(Collision2D coll)
{
if (coll.gameObject.tag == "Enemy")
{
ContactPoint2D contact = coll.contacts[0];
GameObject rock1 = Instantiate (rock, contact.point, transform.rotation) as GameObject;
rock1.rigidbody2D.velocity = transform.up * 20;
GameObject rock2 = Instantiate (rock, newPos, transform.rotation) as GameObject;
rock2.rigidbody2D.velocity = transform.right * 20;
Destroy(coll.gameObject);
Destroy (gameObject);
Instantiate (explosion, transform.position, Quaternion.identity);
}
}