@ALTech1

Как исправить баг с движением игрока?

5eb7c4a78d92d443442992.png
Когда я не двигаю джостик стрелка смотрит вниз. Когда я двигаю джостик все нормально, но как только отпускаю сразу утыкается в землю. Помогите как исправить? Может что-то не так с экспортом модели?

Скрипт:
public float speedMove;
    public float gravityForce;
    private Vector3 moveVector;
    Vector3 direct;
    private Jostic joystick;
    void Start()
    {
        joystick = GameObject.FindGameObjectWithTag("Joystick").GetComponent<Jostic>();
    }

    // Update is called once per frame
    void Update()
    {
        transform.rotation = Quaternion.LookRotation(direct);
        CharterMove();
    }
    private void CharterMove()
    {
        moveVector = Vector3.zero;
        moveVector.x = -joystick.Vertical() * speedMove;
        moveVector.z = -joystick.Horizontal() * speedMove;
        moveVector.y = gravityForce;

        if (Vector3.Angle(Vector3.forward, moveVector) > 1f || Vector3.Angle(Vector3.forward, moveVector) < 0.0f)
        {
             direct = Vector3.RotateTowards(transform.forward, -moveVector, speedMove, 0f);
            transform.rotation = Quaternion.LookRotation(direct);
        }
        else transform.rotation = Quaternion.LookRotation(direct);


        GetComponent<CharacterController>().Move(moveVector * Time.deltaTime);
    }
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
DanielMcRon
@DanielMcRon
C# && Unity
Присваивание силы тяжести?

moveVector.y = gravityForce;

Может так?
moveVector.y -= gravityForce;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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