motkot
@motkot
Программирование C#.

Как сделать чтобы OnCollisionEnter работал без Rigitbody?

Типо OnCollisionEnter не работает, если на каком-то обьекте нету Rigitbody, то не срабатывает.

60c9e841b0899044012163.png

60c9e84d29955000178573.png

Код на одном из этих обьектов
private void OnCollisionEnter(Collision collision)
    {
        Debug.Log("Gucci");
    }
  • Вопрос задан
  • 28 просмотров
Решения вопроса 2
@Spartanec33
А есть ли нужда не использовать Rigidbody на обоих телах? Думаю чтобы проверять столкнулись ли тела одно из них должно уметь двигаться, конечно никто не мешает перемещать тело с помощью Translate, например. Rigidbody ничего плохого не сделает, даже если ты не хочешь, чтобы тела были физичными, в инспекторе у компонента Rigidbody есть constraints, там можно ограничить степени свободы. И если понажимать там все галочки, то получится полностью нефизичное тело с Rigidbody.Так-то без Rigidbody не робит, как я понимаю из-за того, что именно в нем находится пункт отвечающий за детекцию коллизий.
Ответ написан
ShockWave2048
@ShockWave2048
imposter
OnCollisionEnter не будет работать без Rigidbody на одном из коллайдеров. Это прямым текстом указано в документации! - Notes: Collision events are only sent if one of the colliders also has a non-kinematic rigidbody attached.

https://docs.unity3d.com/ScriptReference/Collider....
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы