@src303

Как сделать ходьбу и бег персонажа в Unity?

Необходимо сделать проигрывание анимации ходьбы при таком положении джостика (сама анимация у меня есть). Ещё в таком положении у меня замедляется персонаж, но не хватает проигрывания анимации ходьбы (анимация у меня также есть для этого):
6127bea34297c672473373.png

6127c02cb45a0642991494.png
А в таком положении бег работает и анимация проигрывается.

Animator:
6127c0a11ff1b120672251.png

Code PlayerController:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[RequireComponent(typeof(Rigidbody), typeof (BoxCollider))]
public class PlayerController : MonoBehaviour
{
    [SerializeField] private Rigidbody _rigidbody;
    [SerializeField] private FixedJoystick _joystick;
    [SerializeField] private Animator _animator;

    [SerializeField] private float _moveSpeed;

    private void FixedUpdate()
    {
        _rigidbody.velocity = new Vector3(_joystick.Horizontal * _moveSpeed, _rigidbody.velocity.y, _joystick.Vertical * _moveSpeed);

        if (_joystick.Horizontal != 0 || _joystick.Vertical != 0)
        {
            transform.rotation = Quaternion.LookRotation(_rigidbody.velocity);
            _animator.SetBool("Move", true);
        }
        else
            _animator.SetBool("Move", false);
    }
}
  • Вопрос задан
  • 1429 просмотров
Пригласить эксперта
Ответы на вопрос 1
NikS42
@NikS42
Unity developer
Не так. Нужен 1d BlendTree по параметру Speed типа float. В нуле анимация idle, в 0.5 можно ходьбу для вариативности, а в 1 - бег. Параметр Speed соответствует силе наклона джойстика соответственно. BlendTree интерполирует различные анимации и может играть наполовину бег наполовину ходьбу, или даже крошечные шажки при отклонении джойстика на 10% от максимально возможного. В последнем случае важно, чтобы idle-анимация не содержала лишних движений, иначе они тоже будут смешаны
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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