DotRecast - a port of Recast & Detour, Industry-standard navigation mesh toolset for .NET, C#, Unity3D, games, servers
Go to file
ikpil eb1aa49363 [Upstream] Fix out of bounds access in dtMergeCorridorStartMoved and add tests
size can become negative if req > maxPath. This may happen when visited buffer is larger than path buffer.
Add tests to cover different use cases of the function including Should add visited points not present in path up to the path capacity to cover the fix.
List tests files explicitly. When new file is added CMake does not add it to the already generated list if GLOB is used.

- 599fd0f023
- https://github.com/recastnavigation/recastnavigation/pull/635

replace comment in DtPathCorridor

checking

tt

npath
2024-02-23 01:06:00 +09:00
.github fix: workflow dotnet-version matrix 2024-01-21 20:22:20 +09:00
.vscode support .net 8 in vscode 2023-11-16 23:25:55 +09:00
resources remove lfs 2023-09-09 13:11:27 +09:00
src [Upstream] Fix out of bounds access in dtMergeCorridorStartMoved and add tests 2024-02-23 01:06:00 +09:00
test [Upstream] Fix out of bounds access in dtMergeCorridorStartMoved and add tests 2024-02-23 01:06:00 +09:00
.editorconfig [Upstream] Typo fixes (recastnavigation #660) 2023-08-18 14:04:56 +09:00
.gitignore ignore imgui.ini 2023-03-19 04:36:56 +09:00
BuildingAndIntegrating.md for nuget readme 2024-02-17 22:49:01 +09:00
CHANGELOG.md Added struct RcScopedTimer to avoid allocations 2024-02-20 02:02:05 +09:00
DotRecast.sln add core test 2023-08-10 08:44:00 +09:00
LICENSE.txt Update LICENSE.txt 2023-03-15 22:54:42 +09:00
README.md README.md align 2024-02-21 13:48:57 +09:00

README.md

DotRecast

DotRecast is C# Recast & Detour, a port of recastnavigation and recast4j to the C# language.

If you'd like to support the project, we'd appreciate starring() our repos on Github for more visibility.


![GitHub License] Languages GitHub repo size GitHub Repo stars GitHub Actions Workflow Status GitHub Actions Workflow Status GitHub commit activity GitHub issues GitHub closed issues NuGet Version NuGet Downloads Visitors GitHub Sponsors


demo

🚀 Features

  • 🤖 Automatic - Recast can generate a navmesh from any level geometry you throw at it
  • 🏎️ Fast - swift turnaround times for level designers
  • 🧘 Flexible - detailed customization options and modular design let you tailor functionality to your specific needs
  • 🚫 Dependency-Free - building Recast & Detour only requires a .NET compiler
  • 💪 Industry Standard - Recast powers AI navigation features in Unity, Unreal, Godot, O3DE and countless AAA and indie games and engines

Recast Navigation is divided into multiple modules, each contained in its own folder:

Getting Started

⚙ How it Works

Recast constructs a navmesh through a multi-step mesh rasterization process.

  1. First Recast rasterizes the input triangle meshes into voxels.
  2. Voxels in areas where agents would not be able to move are filtered and removed.
  3. The walkable areas described by the voxel grid are then divided into sets of polygonal regions.
  4. The navigation polygons are generated by re-triangulating the generated polygonal regions into a navmesh.

You can use Recast to build a single navmesh, or a tiled navmesh. Single meshes are suitable for many simple, static cases and are easy to work with. Tiled navmeshes are more complex to work with but better support larger, more dynamic environments. Tiled meshes enable advance Detour features like re-baking, heirarchical path-planning, and navmesh data-streaming.

🅾 License

DotRecast is licensed under ZLib license, see LICENSE.txt for more information.

📹 Demo Video

demo

demo

demo