如何获取 NavMeshAgent 水平和垂直输入?

How to get NavMeshAgent Horizontal and Vertical Inputs?

我有一个 2D 自由形式方向混合树,插入了水平和垂直浮点值。我只是希望它们在我的角色移动时自动更新,我没有使用键盘或鼠标移动角色我只是为角色设置目的地

只需保存最后的位置并每帧检查方向。 例如:

public class AnimationDemo : MonoBehaviour
{
    private Vector3 _lastPosition;

    private void Awake()
    {
        _lastPosition = gameObject.transform.position;
    }

    private void Update()
    {
        var currentPosition = gameObject.transform.position;
        var moveDirection = currentPosition - _lastPosition;
        CalculateAnimation(moveDirection);
        _lastPosition = currentPosition;
    }

    private void CalculateAnimation(Vector3 moveDirection)
    {
        //you have moveDirection to send in your animation system
    }
}