A*Pathfind Project的使用

2023-05-16

本文主要是对该文章的改进:Unity学习笔记--易学易会的unity中A星寻路插件:A*Pathfind Project的使用_秋瞑小雁客的博客-CSDN博客_unity 寻路插件

上述文章中的代码在运行过程中,角色到达目标点后,会出现数组越界的情况 

 针对这个问题,我们定位在代码区的第51行

 Vector3 dir = (path.vectorPath[currentWaypoint + 1] - transform.position);

我认为主要是 + 1 引起的数组越界

解决方法如下:

1.声明一个变量,作为判断使用

int flag = 1;

2.在45-49行的代码中加入 flag++

if (currentWaypoint >= path.vectorPath.Count)
        {
            Debug.Log("路径搜索结束");
            flag++;          
            return;
        }

 3.对这些代码进行判断

 修改后如下

if ((currentWaypoint + 1) <= flag)
        {
            Vector3 dir = (path.vectorPath[currentWaypoint + 1] - transform.position);//.normalized;
            dir *= speed * Time.fixedDeltaTime;
                        
            //玩家转向
            transform.Translate(Vector3.forward * Time.fixedDeltaTime * speed);
            Quaternion targetRotation = Quaternion.LookRotation(dir);
            transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * turnSpeed);//(起始方向,终止方向,速度)
            //玩家当前位置与当前的航向点距离小于一个给定值后,转向下一个航向点
            if (Vector3.Distance(transform.position, path.vectorPath[currentWaypoint]) < nextWaypointDistance)
            {
                currentWaypoint++;
                return;
            }           
        }       

对此,成功解决数组越界问题

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

A*Pathfind Project的使用 的相关文章

  • 如何将Python项目转换为可执行文件

    我有一个 Python 项目 我想将其转换为可执行文件 我已经安装了Pyinstaller 我只知道如何将一个脚本转换为 exe 但我有多个包含多个 python 脚本的包 我成功使用的命令行是 pyinstaller noupx onef
  • 如何“组合”两个静态库?

    所以我知道你不能将一个静态库依赖于另一个静态库 但我想知道是否有什么东西可以让我将它们组合在一起 我正在尝试在 vstudio 2019 中设置游戏引擎项目文件 我想将其编译为静态库 我需要以某种方式将它与 SDL 2 库结合起来 因为我想
  • 如何从 Windows 窗体项目显示/打开/启动 Excel 工作簿项目(Sheet1)?

    如标题所示 假设我在一个解决方案中有两个项目 我有三个 最后一个仅供参考 一个项目是ExcelWorkbook称为 EWB 另一个是WindowsForm称为 Core 我想展示 打开 启动这个EWB from Core 我添加了对第一个的
  • MSTest项目无法获取本地化字符串?

    我遇到了一个奇怪的问题 在我的单元测试中 我想检查本地化的字符串 但是 我似乎无法让它发挥作用 例如 我创建了两个资源 英语的Resource1 resx和中文的Resource1 zh CN resx 单元测试项目只能获取 默认 英文资源
  • Project Euler - #1 Python 错误解决方案

    总体而言 我对编码还比较陌生 因此启动了欧拉项目 以使我的编码更进一步 花了一些时间思考如何自己解决第一个问题并尝试使用递归函数 不幸的是总是遇到同样的错误 266333 我错过了什么 有什么重大错误值得学习吗 原问题是 如果我们列出所有
  • 如何使用 2.01 的功能,同时仍然通过一个 apk 支持 1.5?

    我希望我的 Activity 使用 2 01 的某些功能 但我需要它能够在 1 5 设备上运行 据我所知 1 5 设备将无法运行 2 01 功能 但这很好 但我仍然希望他们能够使用其余的活动 我使用 Eclipse 作为 IDE 如何正确设
  • Visual Studio 解决方案——有什么方法可以创建“特殊”文件夹吗?

    基本上 我希望我的一个文件夹作为一种 特殊文件夹 出现在其他文件夹上方 类似于 属性 如何拥有自己的特殊位置 即使它是一个文件夹 与 App Data 等相同 这可能吗 默认情况下 Visual Studio 不支持添加特殊项目文件夹 Pr
  • 在 C# 项目中添加新的命名空间

    我想向 C 项目添加一个新的命名空间 并且要在新创建的命名空间中添加一些类 当我右键单击 项目的解决方案 时 我没有找到任何添加新命名空间的链接 同样右键单击 项目命名空间 也是如此 如何向现有项目添加新的命名空间 每个命名空间中是否有必要
  • 在 VS 2008 中为单个项目关闭 Intellisense

    我有一个包含大约 1000 个类的项目 不 没有办法方便地将这个项目分成多个 仅加载项目就需要大约 20 分钟 因为智能感知会缓慢地浏览所有类 并占用近 1GB 内存 有没有办法为单个项目关闭 Intellisense 但为解决方案中的所有
  • 在版本控制中维护 Visual Studio vcproj 项目文件的建议

    Microsoft Visual Studio 使用 XML 来保存其 vcproj项目文件 所以比较 XML 项目文件should很容易 不幸的是 如果您更改项目文件的任何属性 Visual Studio 会坚持随机打乱项目文件的 XML
  • Android项目包结构

    我想知道如何为 Android 应用程序创建灵活的包结构 以便于扩展和管理 我的第一个想法是将每个应用程序组件放在单独的包中 例如 spk myapp main 主要活动中使用的所有类 spk myapp processor 处理器提供程序
  • Visual Studio 2008 中 BizTalk 架构项目的引用问题

    在大型 VS 2008 解决方案中 我们有不同的架构项目和映射项目 映射项目引用了适当的模式项目 总体来说效果很好 但是 最近我添加了一个新的架构项目 它始终如一地给出了同样的问题 当我向其中添加新架构 并且想要在已引用该架构项目的映射项目
  • 如何使用 MSBuild NuGet 将 .csproj 文件加载到 .NET Core 3.0 中

    我有一个非常简单的控制台项目 class Program static void Main string args var project new Project FishStory csproj null null new Project
  • 如何使用GDB调试一个大项目?

    现在我有一个c语言项目 其中包括三个目录 bin inc and src 所有头文件 h 包含在 inc和所有源 c 文件存储在 src 即a c b c c c 最终生成的可执行文件位于 bin makefile编译后 会生成所有的obj
  • 如何在 VS2012 MVC4 项目中设置 Ext.NET 2.0?

    我非常怀疑我的问题是否会得到解答 但我会在这里尝试 因为我的挫败感如此之高 也许这会帮助我自己降低它们 所以 我想做的是 从头开始安装 VS2012 好吧 点击 exe 即可开始 创建一个新的MVC4项目 使用 Razor View Eng
  • Visual Studio 解决方案不可用(重新加载不起作用)

    我正在下载我正在使用的条形码阅读器的示例程序 每次我下载该程序并运行它时 我的解决方案资源管理器中都会提示错误 见下图 有什么建议么 每次我右键单击并重新加载项目时 它都会快速重新加载 然后恢复为不可用 建议 编辑 这是该项目的链接 滚动到
  • PHP 检测无用文件或无用代码的工具

    我有一个非常大的 PHP 项目 我认为有很多无用的东西 您是否有一些技巧或工具来检测无用的代码部分或无用的文件 PHP 混乱检测器 PHPMD https phpmd org 可能的错误 次优代码 表达式过于复杂 未使用的参数 方法 属性
  • Netbeans 错误:项目文件夹已存在且不为空

    我安装了Netbeans 因为我正在读这本书 Java in 21 days 我在编程领域完全是个新手 当我尝试在 Netbeans 中打开一个新项目时 出现错误 项目文件夹已存在且不为空 删除 nbproject 文件夹并重新启动 IDE
  • 使用 VS2010 Professional 从 TFS 在线删除项目(TFSDeleteProject 不在我的计算机上!)

    我有 Visual Studio 2010 Professional 并且一直在 Visualstudio com 上使用 TFS 服务 我读了这个问题及其答案 https stackoverflow com questions 13635
  • 引用的项目x不存在

    大家好 我将一个项目的解决方案从vs2008升级到vs2010 但现在我有一个奇怪的问题 我在多个解决方案中引用了一个项目 3个解决方案 在其中两个解决方案中 引用出现错误 我可以添加引用 项目引用 但是当我构建时 我收到警告 引用的项目

随机推荐

  • Linux下TCP协议客户端和服务器之间的通信

    tcp 传输控制协议 1 TCP 是 种可靠的传输服务 xff08 不会出现传输差错 丢失 重复等各种现象 xff09 2 是 向连接的服务 3 个 tcp 连接只有两个端点 xff0c 是 对 通信 4 是可靠传输 拥塞控制 流量控制 超
  • DSO/LDSO 等直接法相关资料整理

    直接法视觉里程计 SLAM的学习门槛较特征法高 xff0c 我将DSO LDSO 等直接法相关资料尽量按作者分类整理如下 xff0c 毕竟沿着一个人的思路学习跨度不会太大 xff1b 此外 xff0c 将一些涉及的其他知识也一并整理 xff
  • SLAM和里程计评估工具——evo使用方法全解

    前言 本帖的主要内容是整理evo的使用方法及各种命令 xff0c 不含安装步骤及过程 xff0c 还未安装的请移步其他博主 evo目前支持的公开数据集格式有 xff1a TUM KITTI EuRoC以及ROS bagfile 如果使用的数
  • 陀螺仪加速度计MPU6050程序与校准方法

    文章目录 前言一 陀螺仪与加速度计简介二 程序使用1 初始化2 读取数据 三 误差校准1 陀螺仪校准2 加速度计校准3 校准后的输出 四 源码获取 前言 本文将介绍陀螺仪和加速度计的使用程序和校准方法 xff0c STM32的程序代码可从文
  • 物联网网关有效解决供水管网监测方案难题

    一 系统概述 管网在线监测系统解决方案设计目的在于 xff1a 解决管道爆管问题 管网水质二次污染影响饮用水质量 管网漏损导致严重的资源浪费等 xff0c 及时发现管网故障 xff0c 提高维护效率 降低损失 xff0c 保障输水 供水质量
  • 基于环保数采仪的有毒性气体监控系统

    在我们的日常生活中 如使用天然气 液化气的厨房 和工业环境中有发生有毒气体泄露的情况 xff0c 同时在工业的生产部门中存在将有毒气体直接排放进空中的情况 xff0c 不仅直接影响作业者的安全与健康 xff0c 而且污染周边的环境 因此 x
  • 智慧路灯远程智能控制

    智慧路灯远程智能控制在智慧城市建设中意义重大 传统配电柜灯控只能实现路灯群简单的定时开关 xff0c 且需要人力巡查故障 xff0c 无法对单灯进行控制 xff0c 效率低且电力浪费 5G智慧路灯杆 xff0c 43 路灯云平台 xff0c
  • 污水站监测解决方案

    污水站对不达标废水通过各种物理法 化学法和生物法进行强化加工处理 xff0c 以排入水体或城市管道旨在减少对环境的污染循环再利用 xff0c 以达到理想的环境效益 经济效益和社会效益 污水处理不当而排除 xff0c 严重破坏城市谁环境 生态
  • 5G智慧路灯杆 赋能物联网智慧城市

    计讯物联5G智慧路灯杆的高集成度逐步成为物联网时代新型智慧城市建设中市政 交通 安防 环境等信息化接入口 多功能智慧灯杆集智能灯控 视频监控 wifi覆盖 新能源充电桩 安防报警 环境监测 交通管制 led屏 音视频广播等多功能于一体 xf
  • I2C接口及时序

    1 I2C学习要点 1 有2条双向串行线 xff0c 一条数据线SDA xff0c 一条时钟线SCL 如果只做master SCL可以只是输出 SDA在PAD上一定是inout pin xff0c 当然转为数字信号时可以分为两组 inout
  • 智慧水务RTU遥测终端机

    智慧水务RTU遥测终端机 xff0c 支持水文水资源行业规约 xff0c 实现水务项目目标数据采集与无线传输 xff0c 支持图像视频采集传输 xff0c 满足模拟量 开关量信号采集进行阀门开关等远程控制 xff0c 执行上位机命令 xff
  • 环保数采仪污水处理远程监测解决方案

    环保数采仪下污水处理远程监测解决方案 xff0c 实现污水处理 排放全过程远程监控与管理 xff0c 远程实时目标因子监测 工况监控 数据动态显示 异常报警 远程控制 报表制作 趋势分析等操作 xff0c 环保部门平台对接 xff0c 源头
  • 5G DTU终端

    5G DTU终端 5G DTU终端TD210 xff0c 支持三大运营商5G 网络 xff0c 并向下兼容4G 3G 网络制式 xff0c 组网更加便捷 xff0c 5GDTU终端可实现RS232 485 422串口数据转5G TCP IP
  • 多功能智慧杆网关_多功能杆智能网关

    计讯物联多功能智慧杆网关具备数据视频采集 组网 协议转换 控制等多功能 xff0c 连接智慧杆杆体设备传感入网 xff0c 进行前端与后端监控中心的数据交互 xff0c 实现智慧路灯杆远程智能照明控制 智慧安防 视频监控 一键报警 车流量监
  • 计讯物联水利RTU赋能智慧水务,用科技守护供水生命线

    水是城市生存和发展 群众安身立命的必备条件之一 xff0c 城市的发展以及社会经济活动都离不开水 因此 xff0c 随着信息化技术的迅猛发展 xff0c 水务数字化已成为必然趋势 计讯物联依托数字孪生可视化 物联网 大数据 三维地理信息系统
  • 计讯物联环保数采仪TS910在扬尘预警监测解决方案的应用

    方案背景 随着我国经济高速发展和城市化进程的加速 xff0c 城市建设工程规模不断扩大 xff0c 工程施工给居住区 学校 医院等周边环境带来了巨大的影响 xff0c 特别是扬尘污染带来的细颗粒物 xff0c 严重危害到人体健康和大气环境质
  • 喜讯丨计讯物联荣获厦门软件园党群服务中心篮球赛亚军

    蓄势待发迎 篮 上 xff0c 齐心协力谱新篇 12月17日 xff0c 厦门软件园党群服务中心篮球赛完美落幕 计讯物联一路过关斩将 xff0c 荣获厦门软件园党群服务中心篮球赛亚军 决胜雅马哈 xff0c 强势晋级半决赛 随着一声哨响 x
  • Ubuntu 命令行安装chrome

    1 1 下载 Google Chrome 使用Ctrl 43 Alt 43 T快捷键或者点击终端图标 xff0c 打开你的终端 使用wget来下载 Google Chrome deb 软件包 xff1a wget https dl goog
  • unity实现物体沿指定的平滑曲线移动(贝塞尔曲线拟合)

    先上原文链接 xff1a unity 实现物体沿指定的平滑曲线移动 xff08 通过贝塞尔曲线实现 xff09 以梦为马 不负韶华的博客 CSDN博客 unity 贝塞尔曲线移动 输入程序后 xff0c 首先设置Size的值 xff0c 即
  • A*Pathfind Project的使用

    本文主要是对该文章的改进 xff1a Unity学习笔记 易学易会的unity中A星寻路插件 A Pathfind Project的使用 秋瞑小雁客的博客 CSDN博客 unity 寻路插件 上述文章中的代码在运行过程中 xff0c 角色到