Управление персонажем в игре на андроид 3D?

Всем привет делаю игру (ПЕРВУЮ) и столкнулся с такой проблемой что нужно сделать управление .
Обыскал весь интернет и нашел только тутореал по 2D управлению , все работает , но почему то мою модель персонажа разворачивает на 180 градусов . Мне нужно сделать так что бы персонаж не разворачивался и поворачивал на право и на лево ( Я СДЕЛАЛ КНОПКИ ДЛЯ УПРАВЛЕНИЯ НАЛЕВО И НАПРАВО
public Rigidbody rb;
    public float playerSpeed;
    public float jumpPower;
    public int directionInput;
    public bool groundCheck;
    public bool facingRight = true;


    void Start()
    {
        rb = GetComponent<Rigidbody>();

    }


    void Update()
    {
        if ((directionInput < 0) && (facingRight))
        {
            Flip();
        }

        if ((directionInput > 0) && (!facingRight))
        {
            Flip();
        }
        groundCheck = true;
    }

    void FixedUpdate()
    {
        rb.velocity = new Vector2(playerSpeed * directionInput, rb.velocity.y);
    }

    public void Move(int InputAxis)
    {

        directionInput = InputAxis;
       
    }

    public void Jump(bool isJump)
    {
        isJump = groundCheck;

        if (groundCheck)
        {
            rb.velocity = new Vector2(rb.velocity.x, jumpPower);
        }

    }

    void Flip()
    {
        facingRight = !facingRight;
        Vector3 theScale = transform.localScale;
        theScale.x *= -1;
        transform.localScale = theScale;
    }


}
) .
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ответы на вопрос 1
zZaKko
@zZaKko
Люблю стратегии и Unity.
Если работаешь с обьектом в которого 3 вектора, то вместо new Vector2 надо использовать new Vector3, ибо в ином случае z будет сбрасываться.
rb.velocity = new Vector3(playerSpeed * directionInput, rb.velocity.y, rb.velocity.z);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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