Я заметил, что OnCollisionEnter2D не запускается, когда два объекта с компонентами Collider2D вступают в контакт. Это срабатывает только тогда, когда к одному из них подключен RigidBody. Это кажется странным для меня, потому что редактор Unity сам говорит, что наличие статического коллайдера вместо неперемещающегося RigidBody намного лучше для производительности. Тогда почему Unity не позволяет двум игровым объектам со статическими коллайдерами запускать события столкновения, когда они вступают в контакт?События столкновений в Unity3D
1
A
ответ
1
Уверенный, статические коллайдеры более эффективны, но, как указывает слово: это статические.
Для движения требуется физический расчет и, следовательно, твердое тело (которое содержит информацию о скорости и т. Д.). Это фактически указано в документах для нормального столкновения здесь http://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html
уверен, что это *** ПОЛНАЯ ТОЧКА *** двигателя PhysX! Забудьте о «статических» коллайдерах, вы очень редко используете их в обычных играх. Вы делаете игры с RigidBody. Они могут удалить «статическую» функцию от Unity, у нее есть только несколько неясных применений, и это будет иметь мало значения для 99% игр. Просто забудь об этом. – Fattie