设置速度大于0时行走,大于1.5时奔跑,小于0.1时回到站立动画,小于1.4时回到行走动画。
但是实际运行的时候,人物经常移动了很久还是站立姿势,直到多移动几次,才开始行走或奔跑,而且切换很不敏感。
当到达目的地之后,经常原地执行跑步动作,在Scene视图中看,发现此时人物的transform的坐标不变,但用W键工具显示的则是三条轴和交点不断地向人物身后平移,然后又回到人物坐标,循环往复。
此外,我的人物有时走到一块区域之后在game视图会消失,在Scene视图中却依旧能看见。
代码都是按照教程写的。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class Hero : MonoBehaviour
{
public Animator anim;
public NavMeshAgent hero;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
hero.SetDestination(hit.point);
}
anim.SetFloat("speed", hero.velocity.magnitude);
}
}
}