厦门建站价格,深圳附近做个商城网站多少钱,中国肩章大全图解,wordpress设置固定链接后404一 介绍
Unity自带寻路(导航)系统是unity官方自带的一种寻路系统。我们可以通过它来制作简单的寻路#xff0c;比如可以制作点击某个位置#xff0c;让角色自动的绕开障碍走到目标点的效果#xff0c;比如可以制作敌人AI#xff0c;让它可以通过NavMesh绕开障碍追击我方单…一 介绍
Unity自带寻路(导航)系统是unity官方自带的一种寻路系统。我们可以通过它来制作简单的寻路比如可以制作点击某个位置让角色自动的绕开障碍走到目标点的效果比如可以制作敌人AI让它可以通过NavMesh绕开障碍追击我方单位。甚至可以在NavMesh中设置传送门跳跃的起点落点让这些效果也参与寻路的计算成功计算出导航的捷径
二 创建3D项目
2.1 新建核心3D模板 2.2 新建Plane当作地面 2.3 新建立方体当角色 2.4 开启物理导航组件窗口-包管理器-unity注册表 2.5 给角色添加网格导航Nav Mesh Agent选项 2.6 把地面组件勾选静态 2.7 找到导航系统烘培地面Window--AI--Navigation 2.8 编写脚本新建C#脚本文件 2.9 拖动挂载到角色上面双击打开VS编辑 using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;public class NewBehaviourScript : MonoBehaviour
{private NavMeshAgent agent;void Start(){agent GetComponentNavMeshAgent();}RaycastHit hit;//碰撞体// Update is called once per framevoid Update(){if (Input.GetMouseButtonDown(0)){Ray ray Camera.main.ScreenPointToRay(Input.mousePosition);if (Physics.Raycast(ray, out hit)){agent.SetDestination(hit.point);}}}
}
2.10 保存返回Unity运行这个时候就能点击鼠标物体自动移动到鼠标位置 三 导航系统参数介绍
3.1 Unity 3D 导航系统由 1个Navigation总控制面板 和 3个组件 组成该系统是由 A*算法 延伸扩展实现的由4部分组成分别是 AgentsAreasBakeObject 3.2 常用的导航组件是自动寻路组件障碍物组件跳跃组件如下图 3.3 Agents面板导航参数设置 Name设置烘焙 Agents 的名字。Radius烘焙的半径也就是对象烘焙的半径。这个值影响对象能通过的路径的大小值越小能行走的路径越大边缘区域越小。Height具有代表性的对象的高度可以通过的最低的空间高度。值越小能通过的最小高度越小。Step Height梯子的高度。需要根据模型阶梯的高度设置。 Max Slope烘焙的最大角度即坡度。 3.4 Areas面板层设置该面板可以设置在自动寻路时对象可以通过那些层。 这里输入的名称会在 Object 面板的 Navigation Area 下显示 3.5 Bake面板烘焙导航网格 Agent Radius具有代表性的对象的半径半径越小生成的网格面积越大。Agent Height具有代表性的对象的高度。Max Slope斜坡的坡度。Step Height台阶的高度。Drop Height允许最大的下落距离。Jump Distance允许最大的跳跃距离。Min Region Area网格面积小于该值则不生成导航网格。Height Mesh勾选后会保存高度信息同时会消耗一些性能和存储空间。 3.6 Object面板对象
在该面板中可以选择设置要参与导航网格烘焙的对象可以设置对象是可以被自动寻路的如路面。也可以设置对象是不可以被自动寻路的即不可行走如湖面 Generate OffMeshLinks设置地面可跳跃。Navigation Area设置对象以特定的路线寻路。 四 各导航组件属性介绍
4.1 Nav Mesh Agent自动寻路组件 Agent Type寻路类型可以在 Navigation 总控制面板中设置类型。Base Offset偏移值。值越大越容易寻路但是目标会偏移得越远。Speed对象自动寻路的速度。Angular Speed对象自动寻路的转弯速度。Acceleration加速度。Stopping Distance对象停下的距离。如果值设置为0则在距离目标点为0处停下Auto Braking是否自动停下。Radius对象躲避障碍物的半径。大于这个半径无法躲避障碍物。Height对象躲避障碍物的等级。等级越高躲避障碍物越准确。Priority优先级。值越大障碍物躲避越优先。Auto Traverse Off Mesh Link自动跳跃链接。Auto Repath自动复制路径。Area Mask能通过的Mask层可以配合 Navigation 组件中的 Areas 使用。 4.2 Nav Mesh Obstacle障碍物组件 Shape障碍物的形状。Center障碍物的中心点坐标。Size障碍物的大小。Carve障碍物的网格。 4.3 Off Mesh Link跳跃组件 Start跳跃的开始点。End跳跃的结束点。Cost Override是否计算路径开销即是否将寻路计入寻路距离。Bi Directional开始点和结束点是否可以互跳。Activated是否激活。Auto Update Position自动更新位置坐标。Navigation Area可以寻路的层。