# easy3dnav
**Repository Path**: mirrors/easy3dnav
## Basic Information
- **Project Name**: easy3dnav
- **Description**: Easy3dNav 是基于 recast4j 封装的 Java 版本 3D 游戏寻路组件
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: https://www.oschina.net/p/easy3dnav-
- **GVP Project**: No
## Statistics
- **Stars**: 6
- **Forks**: 4
- **Created**: 2020-12-07
- **Last Updated**: 2026-02-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Easy3dNav [](https://travis-ci.org/SilenceSu/recastNav) [](https://search.maven.org/search?q=Easy3dNav)
基于recast4j封装的Java版本3D游戏寻路组件
### 使用
````
com.github.silencesu
Easy3dNav
1.1.0
````
### U3d数据导出插件
unity中navmesh数据使用以下工具导出 [https://github.com/kbengine/unity3d_nav_critterai](https://github.com/kbengine/unity3d_nav_critterai "kbengine/unity3d_nav_critterai")
### Code Demo
//初始化寻路对象
Easy3dNav nav = new Easy3dNav();
nav.setUseU3dData(true);//默认为true,可以忽略
nav.setPrintMeshInfo(true);//默认为false,查看需要设置为true
//服务端用的为 srv_*.navmesh
nav.init(filePath);
//使用寻路接口,寻路
List paths=nav.find(float[] start, float[] end);
/***
* 更多demo 请参考 src/test/java
*/
注:坐标系和unity中相同,y轴向上。一定要注意。
### 参数说明
- walkable height
> 最低可通过高度。假设场景有一个桌子,如果设置过低,导致直接从桌子传过去,无视桌子存在。设置过高,会直接从桌子上通过
- walkbale step
> 设置从普通平面到有坡度地形,是否可以通过的高度阀值。
设置过低,导致楼梯斜铺不能能通过
设置过高,导致所有小桌子、小台阶等本不可走的,都可以走过去
- walkable radius
>默认问题不大
- walkable slope
>默认问题不大
### 依赖&参考
https://github.com/recastnavigation/recastnavigation
https://github.com/ppiastucki/recast4j
### 学习资料:
http://www.critterai.org/projects/nmgen_study/
### 参考博客
https://jiangguilong2000.blog.csdn.net/article/details/125592067
### TODO
- 重构引用recast4j包
- 增加新功能
- 增加recastDemo build的文件
- 增加demo.exe 查看工具