У меня есть два 2D игровых объекта. У каждого из них есть Box Collider 2D и жесткое тело 2D, которое не является кинематическим. Когда игра играет, одна движется в другую и сталкивается с ней.Обнаружение столкновений не работает в Unity 2D
Однако, у меня есть следующий метод в движущейся GameObject:
void OnCollisionEnter(Collision collision)
{
print("Collided with someone");
}
Печать заявление никогда отпечатков, поэтому предположительно метод никогда не вызывается. Где я иду не так?
Можете ли вы подтвердить, что ваш класс наследуется от [MonoBehaviour] (http://docs.unity3d.com/Documentation/ScriptReference/Collider.OnCollisionEnter.html)? Измените ссылку Scripting на C# в документах. Вопрос об игре-разработке лучше всего задать здесь: [gamedev] (http://gamedev.stackexchange.com/) – Measuring
Я не проверял, но есть ['OnCollisionEnter2D'] (http: // docs. unity3d.com/Documentation/ScriptReference/Collider2D.OnCollisionEnter2D.html), который вы должны использовать. Это меня охватило, когда я конвертировал 2D-игру в свою 2D-фреймворк ... –
А! Это было, спасибо Т. Кили =) –