Если groundCheck = true, то
if (groundCheck)
{
rb2d.velocity = new Vector2(rb2d.velocity.x, jumpPower);
}
должно работать всегда, вне зависимости от коллизий. Значит ошибка где-то в неправильном вызове функций. Или вы где-то назначаете groundCheck = false.
Александр, из вопроса действительно ничего не понятно.
А вот по этим кускам кода видно, что вы совершенно не понимаете, что такое классы и наследование.
Советую про это прочитать и всё сразу станет ясно.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
if (groundCheck)
{
rb2d.velocity = new Vector2(rb2d.velocity.x, jumpPower);
}
должно работать всегда, вне зависимости от коллизий. Значит ошибка где-то в неправильном вызове функций. Или вы где-то назначаете groundCheck = false.