Триггер. А вообще можно сократить твою запись c if до одной строчки. Вот так isGrounded = collisiion.gameObject.CompareTag("Ground");. Поясню - в C# в if передавать bool значение. CompareTag как раз возвращает bool Если тебе этого достаточно то можно присвоить результат выполнения метода`CompareTag` в переменную IsGrounded И ещё резултат операторов сравнения тоже возвращает bool, по этому и if работает с bool. Например bool bIsGreatestThanA = b > a; if (bIsGreatestThanA ) { ... }`
Ааа, у тебя OnCollisionStay я не заметил. Лучше сделать отдельный триггер под ногами персонажа, навесить свой скрипт и иметь ссылку у персонажа и проверять IsGrounded. Проверять в нем OnTriggerEnter\\Exit
И тогда Raycast не нужен будет. OnCollisionStay не очень стабилен порой. Проще чтобы не сильно мучаться с ним сделать как я выше описал
у меня такое впечатление что я не правильно вопрос задаю. ПОВТОРЮ ВОПРОС))))) Что дешевле рейкаст или OnCollision ?
Я же напсиал что Триггер
Обсуждают сегодня