Unity零基础到入门 ☀️| Navigation导航系统—导航角色学习
【摘要】 💚导航角色(NavMeshAgent)场景布置完了,导航网格设置好了,下一步就是给需要进行导航的物体添加上NavMeshAgent组件 🚩NavMeshAgent属性面板介绍一起来看看NavMeshAgent的属性面板介绍一下该组件的属性面板AgentSize(角色大小)Radius(半径)Height(⾼度)Base Offset(偏移量)导航⻆⾊与⽹格;中⼼点的偏移量Steerin...
💚导航角色(NavMeshAgent)
场景布置完了,导航网格设置好了,下一步就是给需要进行导航的物体添加上NavMeshAgent组件
🚩NavMeshAgent属性面板介绍
一起来看看NavMeshAgent
的属性面板
介绍一下该组件的属性面板
AgentSize(角色大小)
- Radius(半径)
- Height(⾼度)
- Base Offset(偏移量)
导航⻆⾊与⽹格;中⼼点的偏移量
Steering(导航过程)
- Speed(导航过程中
- ⻆⾊的最⼤速度)
- AngularSpeed(⻆速度)
- Acceleration(加速度)
- Stoping Distance(停⽌距离)
当前⻆⾊距离⽬标多远时停下 - Auto Breakting(⾃动减速)
当⻆⾊快达到⽬标时⾃动减速
Obstacle Avoidance(躲避障碍物)
- Quality(导航质量)
- Priority(优先级)
Path Finding(寻路设置)
- Auto Traverse Off Mesh Link
⾃动跨越分离路⾯ - Auto Repath
⾃动重新规划路径 - Area Mask
分层剔除(设置⻆⾊可以⾛哪些层)
🚩常用属性和方法
下面是导航角色常用的一些属性
和方法
介绍
知道了NavMeshAgent
的面板属性和常用属性和方法之后
我们来写一个脚本,简单的执行一下导航,看一看到底是个啥效果呢!
创建一个NavigationTest
脚本,代码如下
Tip:使用NavMeshAgent
组件要先导入UnityEngine.AI
命名空间,要不然会报错的哦!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;//导入命名空间
public class NavigationTest : MonoBehaviour
{
private NavMeshAgent navMeshAgent;
private void Start()
{
navMeshAgent = gameObject.GetComponent<NavMeshAgent>();
}
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
Transform parent = hit.collider.transform.parent;
if (parent != null )
{
navMeshAgent.SetDestination(hit.point);
}
}
}
}
}
脚本内容很简单,就是拿到这个NavMeshAgent
组件之后
- 在
Update
中进行判断,当点击鼠标左键
的时候 开启射线检测
,记录下当前鼠标点击的物体
- 然后利用
SetDestination
方法,将鼠标点击的位置设置成导航的目的地
这样就会出现,我们鼠标点击一个位置,只要导航能到的地方就会按照导航自动计算出的最短路径进行自动寻路
了!
将这个脚本
挂到这个胶囊体上就好了,下面是演示效果:
Tip:如果胶囊体上不去这个台阶,那就是说明Bake
的Step Height
(⻆⾊可以上的台阶⾼度)数值太小,适当改一下即可
这里还有一个小知识
,就是我们在寻路的时候,我们寻路的角色在Scene
场景中会出现三个红蓝黑箭头
,如下图所示
- 红⾊箭头 :代表 指向(阶段性⽬标)
- 蓝⾊箭头 :代表 期望速度
- ⿊⾊箭头 :代表 瞬时速度
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)