Не работает анимация в Unity HDRP

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

вот код:

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

public class playerController : MonoBehaviour
{
    private Animator animator;
    private Rigidbody _rigidbody;
    public float _playerSpeed;
    // Start is called before the first frame update
    void Start()
    {
        animator = GetComponent<Animator>();
        _rigidbody = GetComponent<Rigidbody>();
    }

    // Update is called once per frame
    void FixedUpdate()
    {
        float _horizontal = Input.GetAxis("Horizontal");
        float _vertical = Input.GetAxis("Vertical");

        Vector3 directionVector = new Vector3(_horizontal, 0, _vertical);

        Debug.Log("Direction: " + directionVector);

        animator.SetFloat("speed", Vector3.ClampMagnitude(directionVector, 1).magnitude);

        _rigidbody.velocity = Vector3.ClampMagnitude(directionVector, 1) * _playerSpeed;

        Debug.Log("Velocity: " + _rigidbody.velocity);
        Debug.Log("Animator speed parameter: " + Vector3.ClampMagnitude(directionVector, 1).magnitude);
    }
}

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Михаил

Убедитесь, что у вас в Animation Type стоит Humanoid и в Root Motion Node стоит Root Transform.

+ Попробуйте нормализовать ваш directionVector:

Vector3 directionVector = new Vector3(_horizontal, 0, _vertical).normalized;
→ Ссылка