寻路系统:动态障碍物

2023-05-16

寻路的相关参数
需要先勾选 游戏场景中所有需要烘焙路径信息的游戏对象状态为 static
然后点开windos菜单下的navigation窗口进行烘培
这里写图片描述
Navigation Static ;表示该游戏对象是否参与导航网格的烘培
Generate OffMeshLinks : 是否可以使用OffMeshLinks使不连续的地段连接起来
Navigation Area : 导航区域设置
这里写图片描述

Agent Radius : 具有代表性的物体半径
Agent Height : 具有代表性的物体的高度
Max Slope : 最大可行进的斜坡斜度
Step Height : 可进行的斜坡高度
Drop Height : 允许的最大下落距离
Jump Distance : 允许的最大跳跃距离
Advanced : 高度参数调节

导航组件的相关参数
这里写图片描述

Agent Size: 尺寸控制
Radius : 物体的半径
Height : 物体的高度
Base Offset : 偏移值
Steering : 行动控制
Speed : 物体最大行进速度
Angular Speed : 物体的行进过程中转向的角速度
Acceleration : 物体的行进加速度
Stopping Distance: 距离目标点小于多远的距离时,停止移动
Audo Braking : 是否自动制动
Obstacle Avoidance : 躲避障碍物的参数
Quality : 质量
None : 无
Low Quality : 低质量
Medium Quality : 中等质量
Good Quality : 较好的质量
High Quality: 高等质量
Priority : 优先级
Path Finding : 路径寻找
Auto Traverse Off Mesh Link : 是否采用默认的方式渡过连接路径
Auto Repath : 在行进过程中,因某些原因中断的情况下,是否重新开始寻路
Auto Mask : 自动遮罩

动态障碍物
Nav Mesh Obstacle 组件中Carve选项使导航网格会在游戏过程中实时进行烘焙。
Carve选项的属性
Move Threshold 模型移动某个距离后烘焙
Time To Stationary 指定模型在某个位置停止一段时间后在烘焙
Carve One Stationary 勾选后,模型移动时不会实时烘焙

操作第一步:
之前的所有的对障碍物设置的静态属性全部取消勾选
操作第二步:
在障碍物的对象上添加Nav Mesh Obstacle组件
操作第三步:
设置Nav Mesh Obstacle相关属性
Shape属性是对障碍物的外形进行设置

//挂载对象
private NavMeshAgent agent;//Navigation mesh agent 导航网
//桥
public GameObject drawBridage;
public GameObject sphere;
//时间
float timer = 0;
//桥的转向
private int rotateDirection = -1;

// Use this for initialization
void Start()
{
    //获得组件
    agent = GetComponent<NavMeshAgent>();
}

// Update is called once per frame
void Update()
{    //从屏幕获得鼠标的射线
    Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
    RaycastHit hit;
    if (Physics.Raycast(ray, out hit))
    {
        if (Input.GetMouseButtonDown(0))
        {
            agent.SetDestination(new Vector3(hit.point.x, agent.transform.position.y, hit.point.z));
        }

    }
    //时间间隔
    timer += Time.deltaTime;

    if (timer > 5)
    {// 桥的转动位置和速度
        drawBridage.transform.RotateAround(sphere.transform.position, sphere.transform.forward, 10 * rotateDirection * Time.deltaTime);
    }
    //桥的方向的改变
    if (timer > 10)
    {
        timer = 0;
        rotateDirection *= -1;
    }
}

这里写图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

寻路系统:动态障碍物 的相关文章

随机推荐

  • KITTI数据集Raw Data与Ground Truth序列00-10的对应关系,以及对应的标定参数

    一 KITTI官方提供的真值和标定参数下载地方 网站 xff1a Visual Odometry SLAM Evaluation 2012 具体位置 xff1a 真值 xff1a Download odometry ground truth
  • 相机内参标定,相机和激光雷达联合标定

    相机内参标定 xff0c 相机和激光雷达联合标定 一 相机标定原理1 1 成像过程1 2 标定详解 二 相机和激光雷达联合标定2 1 标定方法汇总2 2 Autoware的安装与运行2 2 1 安装方式2 2 2 安装Autoware的依赖
  • Ubuntu20.04安装和编译运行lidar_align来联合标定lidar与imu的外参

    Ubuntu20 04安装和编译运行lidar align来联合标定lidar与imu的外参 一 编译运行lidar align1 1 下载地址1 2 编译1 2 1 nlopt问题解决1 2 2 c 43 43 问题解决 二 处理数据集三
  • ROS小工具学习与使用

    ROS小工具学习与使用 rqt的使用 rqt bag工具 rqt bag span class token operator lt span your bagfile span class token operator gt span sp
  • printf函数的实现方法

    printf是一个C库函数 xff0c 用于向标准输出 xff08 stdout xff09 写入格式化的字符串 如果格式字符串包含格式说明符 xff08 以 开头的子序列 xff09 xff0c 则需要额外的参数来替换相应的说明符 实现p
  • linux下查看cmake的版本

    方法 在命令行输入指令 xff1a cmake span class token operator span version
  • C++常用标准库

    STL是Standard Template Library的简称 xff0c 中文名标准模板库 从根本上说 xff0c STL是一些 容器 的集合 xff0c 这些 容器 有list vector set map等 xff0c STL也是算
  • 如何轻松写出正确的链表代码

    如何轻松写出正确的链表代码 xff1f 1 理解指针或引用的含义 将某个变量赋值给指针 xff0c 实际上就是将这个变量的地址赋值给指针 xff0c 或者反过来说 xff0c 指针中存储了这个变量的内存地址 xff0c 指向了这个变量 xf
  • JVM之虚拟机栈详细讲解

    Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域 这些区域有各自的用途 xff0c 以及创建和销毁的时间 xff0c 有的区域随着虚拟机进程的启动而一直存在 xff0c 有些区域则是依赖用户线程的启动和结
  • 【图像处理】特征点算法整理总结

    特征点检测 1 Susan SUSA xff08 Smallest Univalue Segment Assimilating Nucleus xff09 算子是一种高效的边缘和角点检测算子 xff0c 并且具有结构保留的降噪功能 原理 用
  • 图像特征点匹配算法

    sift https blog csdn net weixin 38404120 article details 73740612 https blog csdn net abcjennifer article details 763968
  • 算法目标检测面经

    1 自我介绍 2 简历上的项目 网易雷火 AI研究员 1 ResNet FCN Fasterrcnn 2 膨胀腐蚀的原理 3 均值滤波的原理 时间复杂度 怎么优化 4 第k大的数 topK个数 网易互娱预研 深度学习计算机视觉 1 语义分割
  • 图像配准(Image Registration)简介

    图像配准在目标检测 模型重建 运动估计 特征匹配 xff0c 肿瘤检测 病变定位 血管造影 地质勘探 航空侦察等领域都有广泛的应用 每一种配准方法通常都针对某个具体问题而设计的 xff0c 众多方法中 xff0c 唯一的共性就是每个配准问题
  • SSD算法详解

    转载 xff1a https blog csdn net ytusdc article details 86577939 SSD github https github com weiliu89 caffe tree ssd SSD pap
  • 深度学习-目标检测评估指标P-R曲线、AP、mAP

    基本概念 P R曲线中 xff0c P为图中precision xff0c 即精准度 xff0c R为图中recall xff0c 即召回率 Example 下面通过具体例子说明 首先用训练好的模型得到所有测试样本的confidence s
  • 使用gitlab初次上传代码

    提要 项目开发中需要使用gitlab来管理代码 xff0c 将自己开发的模块上传到gitlab 第一次使用这个代码管理仓库 xff0c 记录一下 方法 1 首先注册gitlab的账号 这个在百度上搜一下gitlab的官网 xff0c 进去后
  • Keil5添加.c文件与.h文件的方法-导入支持库-新大陆物联网竞赛-Lora模块&NBIOT模块例程-添加导入文件

    一 概述 在某些情况下 xff0c 我们使用现用的物联网开发例程 xff0c 例如新大陆物联网的Lora与NBIOT的例程 xff0c 我们对其例程内目前所有的库不满意 xff0c 不足以实现开发需要的功能 xff0c 我们需要在原有工程上
  • 初探DSO-SLAM并运行dso_ros

    最近在做SLAM相关的工作 xff0c 用思岚的A2激光雷达在turtlebot3上测试SLAM建图效果 xff0c 感觉还是不错的 由于项目在方案上还没有确定选择哪种作为SLAM的最终方案 xff0c 在我测试奥比中光ASTRA mini
  • 虚拟机中安装CMake工具

    https www cnblogs com yanqingyang p 12731855 html
  • 寻路系统:动态障碍物

    寻路的相关参数 需要先勾选 游戏场景中所有需要烘焙路径信息的游戏对象状态为 static 然后点开windos菜单下的navigation窗口进行烘培 Navigation Static xff1b 表示该游戏对象是否参与导航网格的烘培 G