如何获取 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
}
}
我有一个 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
}
}