@denis-chenykh

Баг персонажа при прыжке unity?

Есть персонаж которое должен ходить вперед, назад и прыгать. Но при нескольких прыжках его начинает жестко колбасить он начинает улетать в разные стороны и крутиться, как можно исправить данную ситуацию ?

Спасибо большое

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Managament : MonoBehaviour  {



    private GameObject player; //Переменна объекта персонажа с которым будем работать.
   
    public int speed = 6; //постоянная скорость перемещения персонажа
    public int jump = 3; //Высота прыжка

    public Animation animation; // Анимация



    void Start () {
        player = (GameObject)this.gameObject; //Задаем что наш персонаж это объект на котором расположен скрипт
    }


   
    void Update () {
        
        animation = GetComponent<Animation>();

        if(Input.GetKey (KeyCode.A)) {
            player.transform.position += player.transform.right * speed * Time.deltaTime; //перемещаем в лево
            animation.Play("running");
        }
        if(Input.GetKey (KeyCode.D)){
            player.transform.position -= player.transform.right * speed * Time.deltaTime; //перемещаем в право
            animation.Play("running");
        }
        if(Input.GetKey (KeyCode.Space)) {
            player.transform.position += player.transform.up * jump * Time.deltaTime; //Прыгаем
            animation.Play("jump");
        }
        
    
    }

}
  • Вопрос задан
  • 451 просмотр
Пригласить эксперта
Ответы на вопрос 2
freeExec
@freeExec
Участник OpenStreetMap
Наверное вы что-то не договариваете, при прыжке (это кстати и не прыжок вовсе) объект просто подымается, пока вы жмёте пробел. Никакой логики там больше нет.
А вот если вы там задействуете физику (о которой умолчали), то объекты надо двигать физикой, а не менять ему координаты.
Ответ написан
@Moshiwa
Попробуй отключить у rigidbody freeze rotation по z
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы