最近开发新游戏需要用到nav寻路算法,之前游戏的寻路逻辑都是A*实现,目前nav也实现完成,这里做一下记录

最近新出的slg游戏万国觉醒,胜利之吻,文明与征服都采用类似rts寻路方式,分析后我认为他们的寻路方式都是传统mmo常用的寻路方式nav多边形寻路,在网上找了很多资料和看了一些mmo代码,大部分寻路方式都采用recast寻路,u3d也是用的c版本的recast,查找之后发现还有java版本的recast实现 recast4j

https://github.com/ppiastucki/recast4j

结合

easy3dnav: Easy3dNav  是基于 recast4j 封装的 Java 版本 3D 游戏寻路组件

easy3dnav基本实现出来了寻路功能,我自己感觉用着不舒服

1,官方的recast4j很多功能不能使用

2,客户端必须按照他的数据导出方式导出地图数据

但是对于我第一次接触3d寻路而言,对于u3d导出的地图数据 obj或者navmesh是什么还不是很清楚,大部分u3d开发人员只知道导出obj格式的数据,融合easy3dnav+recast4j写了一个直接解析obj的地图并寻路的代码

recastdemo: navmesh寻路

只有my目录是我自己实现其他都是官方recast4j中的代码,测试代码TestFindPath

待解决

在navmesh寻路时,服务器怎么动态避障,recast也有动态避障但是没有找到接口在哪

java服务器Nav寻路相关推荐

  1. 一台 Java 服务器可以跑多少个线程?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 转自:简书,作者:新栋BOOK www.jianshu.com/p ...

  2. 线上经验总结:一台 Java 服务器可以跑多少个线程?

    一台java服务器能跑多少个线程? 这个问题来自一次线上报警如下图,超过了我们的配置阈值. 京东自研UMP监控分析 打出jstack文件,通过IBM Thread and Monitor Dump A ...

  3. Java服务器热部署的实现原理

    [本文转载于Java服务器热部署的实现原理] 今天发现早年在大象笔记中写的一篇笔记,之前放在ijavaboy上的,现在它已经访问不了了.前几天又有同事在讨论这个问题.这里拿来分享一下. 在web应用开 ...

  4. java 多线程监听同一个端口_使用多线程在Java服务器中同时侦听两个端口

    我正在构建一个简单的Java服务器,该服务器使用两个ServerSocket实例同时在两个端口上同时侦听客户端请求.这是服务器的代码: import java.io.PrintWriter; impo ...

  5. JAVA实现服务器间拷贝文件,寻找在Java服务器之间传输大文件的好方法

    在这个项目中有一个主要的数据库服务器,其他安装在不同地方的服务器维护着自己的本地数据库.我们必须允许每个系统将其本地数据库更新为主要数据库上的任何版本.所有的服务器都运行Java环境.寻找在Java服 ...

  6. bigint最大有多少位_一台 Java 服务器可以跑多少个线程?

    一台Java服务器能跑多少个线程?这个问题来自一次线上报警如下图,超过了我们的配置阈值. 京东自研UMP监控分析 打出jstack文件,通过IBM Thread and Monitor Dump An ...

  7. java ios压缩_iOS与Java服务器GZip压缩问题【转】

    昨天搞了一天的GZip压缩,试了三种方式(libz库,ZipArchive,ASIHttpRequest),一开始都不成功. 理论上三个应该都能用的,但我都不行.等我试到第三种方式的时候才知道,不是我 ...

  8. 能跑java的服务器_一台java服务器可以跑多少个线程?

    一台java服务器能跑多少个线程?这个问题来自一次线上报警如下图,超过了我们的配置阈值. 京东自研UMP监控分析 打出jstack文件,通过IBM Thread and Monitor Dump An ...

  9. android tcp判断服务器是否断开,Android tcp客户端连接,然后从java服务器断开连接...

    我在我的电脑上执行java服务器并让我的android设备连接到它.我可以连接它,但一旦连接就会断开连接.我确信在android方面我需要做一些事情,但我很少迷失它.我有互联网许可,所以很好.Andr ...

最新文章

  1. 自定义控件添加自定义属性问题
  2. C#函数式编程之可选值
  3. oracle审计的激活与取消
  4. sql delete删除的数据怎么恢复_如何恢复按下Shift + DELETE键永久删除的文件和资料夹?...
  5. .NET Core 3.0 本地工具
  6. java 枚举学习--从小程序中学习
  7. 命令行删除mysql57_Ubuntu16.04彻底删除MySQL5.7 方法
  8. 数据结构学习笔记:实现链表
  9. Python快速教程 尾声
  10. 创建variant二维数组
  11. GetUserName()第二个参数中指明缓冲区长度
  12. session 、cookie、token的区别及联系
  13. 小丁带你走进git的世界二-工作区暂存区分支
  14. 第4章第16节:图表:使用三维饼图制作年度销售额图表 [PowerPoint精美幻灯片实战教程]
  15. mysql新建用户、授予外网Ip访问权限
  16. java关键字汉化_Java关键字 - 乱流的个人空间 - OSCHINA - 中文开源技术交流社区
  17. Red Hat Enterprise Linux 7 正式版发布
  18. 在家赚钱的可靠方法,5个方法各个月入过万!
  19. Hive第二代客户端远程连接
  20. 如何下载php-cs-fixer,详解使用php-cs-fixer格式化代码

热门文章

  1. ElasticSearch教程与实战:从搭建服务到Spring Boot整合
  2. 变量n1和n2是什么关系
  3. c语言判断一个数是否为偶数源代码,c语言判断一个数是否为偶数
  4. 12个 Linux 命令的超级用法实例,超实用!
  5. BAT替换文件中指定字符串
  6. c++最佳情侣身高差(来测一测)
  7. 奢侈品电商,压死趣店的最后一根稻草?
  8. 数据库截取某一字段的值
  9. Redis配置文件redis.conf内容完整版
  10. Horde3D——基于C++编写的3D渲染引擎