自动寻路NavMeshAgent u3d学习总结笔记本

1、Agent Size 物体尺寸控制 
  Radius 物体的半径 
  Height 物体的高度 
  Base Offset 物体的上下偏移 
2、Steering 行动控制 
  Spped 物体移动的最大速度 
  Angular Speed 物体转向时的角速度 
  Acceleration 物体移动的加速度 
  Stopping Distance 距离目标点值小于设定值的时候停止 
  Auto Braking 选中会自动停止,不选中会一直前后平滑移动。 
3、Obstacle Avoidance 躲避障碍 
4、Path Finding 路径查找 
  Auto Traverse Off Mesh Link:不选中遇到Off Mesh Link点会停止,选中直接路过。 
  Auto Repath:在行走过程中被中断是否重新开始寻路,比如有门,等门打开继续进去。 
  Auto Mask 规定网格行走的区域。

常用代码:

float NavMeshAgent.remainingDistance;
//在当前路径上代理的位置与目的地之间的距离。(只读) 
navAgent.destination =new Vector3(0,0,0);
//导航位置设置
NavMeshAgent.updatePosition = false;//停止对位置的影响
NavMeshAgent.updateRotation = false;//停止对旋转的影响
NavMeshAgent.Warp(transform.position);//设置代理位置
NavMeshAgent.velocity;//NavMeshAgent 组件的当前速度,或手动设置速度
NavMeshAgent.Stop();//停止导航
NavMeshAgent.Resume();//恢复导航
NavMeshPath path = new NavMeshPath();//新路径获得
NavMeshAgent.CalculatePath(playerAnim.transform.position,path);//判断是否能到达
 float length = 0;
    for (int i = 0;i<path.corners.Length-1;i++){//遍历节点线段长度计算
        length+=(path.corners[i+1]-path.corners[i]).magnitude;//返回向量的长度	
    }
//path.corners[0]为路径起点
//path.corners[Length-1]为路径终点

猜你喜欢

转载自blog.csdn.net/qq_40346899/article/details/83957986