@1fr4m3

Как отследить движение объекта по Z координате?

Есть объект Character, для него я написал условия с анимациями:

RB.MovePosition(RB.position + moveVelocity * Time.fixedDeltaTime);

        if (Input.GetAxisRaw("Vertical") > 0)
        {
           ChangeAnimation("Player_walk_forward");
           isWalkForward = true;
           isStoped = false;
        }

        if (Input.GetAxisRaw("Vertical") < 0)
        {
           ChangeAnimation("Player_walk_back");
           isWalkBackward = true;
           isStoped = false;
        }

        if (Input.GetAxisRaw("Horizontal") > 0)
        {
            gameObject.transform.localScale = new Vector3(57.6f, 57.6f, 57.6f);
            ChangeAnimation("Player_walk");
            isWalkRight = true;
            isStoped = false;
        }

        if (Input.GetAxisRaw("Horizontal") < 0)
        {
            gameObject.transform.localScale = new Vector3(-57.6f, 57.6f, 57.6f);
            ChangeAnimation("Player_walk");
            isWalkLeft = true;
            isStoped = false;
        }

        if (Input.GetAxisRaw("Vertical") == 0 && Input.GetAxisRaw("Horizontal") == 0)
        {
           isStoped = true;
        }

        // ++

        if (isWalkForward == true && isStoped == true)
        {
            ChangeAnimation("Player_idle_back");
            isWalkForward = false;
        }
        
        if (isWalkBackward == true && isStoped == true)
        {
            ChangeAnimation("Player_idle");
            isWalkBackward = false;
        }

        if (isWalkRight == true && isStoped == true)
        {
            ChangeAnimation("Player_idle_right");
            isWalkRight = false;
        }

        if (isWalkLeft == true && isStoped == true)
        {
            ChangeAnimation("Player_idle_right");
            isWalkLeft = false;
        }


(Я новичок, возможно это выглядит не идеально, но оно работает ;) )

При проверки ходьбы, я заметил, что по координате Z, персонаж ходит с двумя анимациями Player_walk и Player_idle, так как он якобы имеет статус isStoped = true; :

0CM0R.gif
Как отследить передвижение по этой координате и включить нужную анимацию?
  • Вопрос задан
  • 31 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

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