Zefirot, У тебя есть GroundChecker, у которого ты в эвейк позицию берешь. Тебе нужно напрямую к нему обращаться, чтобы позицию текущую брать, а не ту, которую в эвейк берешь. GroundChecker.transform.position.
И однострочный if-else ухудшает читаемость кода, зачем это "сокращение"? И прикладывай код класса полностью(с названием и т.д.), чтобы форматирование нормальное было.
yraiv, Найти человека, который использовал это и у него возникла твоя проблема невозможно, т.к. этот ассет в большинстве своем используется людьми, которые не могут сделать такую элементарную вещь как управление персонажем. Либо пиши разработчику ассета, либо свое делай. Свое сделать будет быстрее и проще.
А что тебе надо? Если хочешь максимально контролируемое движение, то rigidbody.MovePosition. Если просто через физику двигать - rb.velocity/addforce. Addforce в том случае, когда нужна именно физика, т.е. самолет там смоделировать или вертолет.
Плохой. Автор видео даже сам не знает что лучше AddForce или изменение велосити. Для платформера(почему именно для платформера, непонятно) у него какие-то "все" выставляют гравитацию в -40. Прилипание к поверхности решает путем уменьшения трения. Проверка на соприкосновение с землей через overlapcircle с фильтрацией по слою(ну хоть не по тэгу), т.е., на каждый объект, по которому можно ходить, нужно добавлять определенный слой. Код, как и у всех подобных ему ютуберов, убогий. Исключительно публичные поля, какое-то название поля с большой буквы пишет, какое-то с маленькой, в чем разница между ними непонятно. Названия из генератора рандомных слов. Накопипастил код со стековерфлоу, причем, по всей видимости, из вопросов и выложил на ютуб. Собственно, название канала удивительно подходит для автора. Посмотрят пару гайдов на ютубе и уже идут пилить свои, а потом люди, учившиеся по их гайдам, удивляются, почему их не берут на работу.
Zefirot, У тебя есть коллайдер. Вместо рейкаста делай каст своего коллайдера. BoxCast, BoxCastNonAlloc. Он вернет тебе все, чего касается и не нужно будет ни трансформов ли рейкастов. Понять где земля где нет, можно, отфильтровав результаты рейкаста по нормали.
привычка...
Такая себе привычка, если кто-то увидит, что твой код отходит от стандартов, тебя за это пинать будут.
А что нужно?
Если поверхность под коллайдером не плоская, то один рейкаст может доходить до этой поверхности, а второй нет, в силу того, что у тебя максимальная дистанция в 0.1 выставлена. Либо при движении его физика выталкивает из коллайдера под ним, он поднимается вверх, рейкаст не доходит до поверхности.
Зачем тебе вообще эти 4 рейкаста?
Зачем тебе GroundTouchPoint в виде трансформа, когда там просто вектор должен быть?
Зачем тебе K&R стиль отступов, когда в c# используется Allman?
И однострочный if-else ухудшает читаемость кода, зачем это "сокращение"? И прикладывай код класса полностью(с названием и т.д.), чтобы форматирование нормальное было.