unity学习笔记【点击地面人物走动】

来源:互联网 发布:软件编写目的 编辑:程序博客网 时间:2024/04/28 22:02
private Vector3 point;private int state;public NavMeshAgent nav;void Start(){}void Update(){    if(Input.GetMouseButtonDown(0))    {         Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);        RaycastHit hit;        if(Physics.Raycast(ray, out hit))        {             if(!hit.collider.name.Equals("Terrian"))            {                    return;             }             point = hit.point;             nav.SetDestination(point);             SetState(1);         }         if(state == 0)        {                   }        else if(state == 1)        {           if(!nav.pathPending)           {                  if(nav.remainingDistance <= nav.stoppingDistance)                   {                         if(!nav.hasPath || nav.velocity.sqrMagnitude == 0f)                        {                               SetState(0);                        }                     }           }        }    }}void SetState(int value){    state = value;    if(state == 0)    {        animation.CrossFade("Idle_01");    }    else if(state == 1)    {         transform.LookAt(new Vector3(point.x, transform.position.y, point.z);        animation.CrossFade("Run");    }}

坑:

1. 如何判断NanMeshAgent的停止。


0 0
原创粉丝点击