Я пытаюсь обнаружить столкновение между characterController
и платформой (a rigidBody
+ boxCollider
) в проекте Unity.Столкновения между CharacterController и BoxCollider
Я знаю, что я могу использовать эту функцию в объекте characterController:
void OnControllerColliderHit(ControllerColliderHit hit) {
// [...];
}
Но я бы сильно, а обнаружить его в объекте платформы, для того, чтобы попытаться сохранить код более понятным. Что-то вроде этого:
void OnCollisionEnter(Collision c) {
Debug.Log(c.gameObject.tag);
}
Но это не работает! Я искал в форумах Unity и, видимо, единственный способ обнаружить столкновение - установить boxCollider
в свойстве isTrigger
как True
и вместо этого использовать метод .OnTriggerEnter(Collider c)
. Тем не менее, это приведет к тому, что игрок упадет через платформу, что, очевидно, не может произойти.
Хорошо, поэтому мой вопрос: есть ли другой способ сделать это - без настройки isTrigger
как True
- и обнаружение столкновения в объекте платформы?
Спасибо!
Да, это сработало ! Выглядит немного уродливо, но это будет сделано. Спасибо. – ldavid