@realmadness

Что делать, если персонаж пролетает сквозь платформу?

Появилась проблема: сделал так, что когда персонаж падает, его позиция становилась начальной, то есть 5e8394f85ed85065478399.png , вот код
private void OnTriggerEnter2D(Collider2D trigg)
    {
        if (trigg.gameObject.tag == "pos")
        {
            health--;
            Invoke("StartPosition", 1);
        }
    void StartPosition()
    {
        rb.transform.position = new Vector2(spawnpos.transform.position.x, 0.1565286f);
    }

Получается так, что персонаж каким то образом перелетаем эту платформу. Значение гравитации при этом 8 - идеально для прыжка. Когда делаю гравитацию очень маленькой 1-2, персонаж не перелетает, но и прыжок тогда идеальным не получится. Можно ли как то сделать, что бы персонаж не перелетал эту платформу не изменяя гравитацию? Я не уверен, что понятно объяснил, поэтому если не поняли - могу скинуть видео.
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
MrMureno
@MrMureno Куратор тега Unity Game Engine
VR for all
если я правильно понял - то у персонажа "сохраняется движение", эдакая инерция.

вам бы при спавне в начальной позиции обнулить все ускорения на rb.
velocity и angularVelocity занулить и отключить управление на секундочку другую ,чтоб пользователь понял что проиграл, а персонаж респавнулся и нормально встал на платформу (которая надеюсь и является точкой респавна).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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