forked from bit/DotRecastNetSim
update: readme - how to works
This commit is contained in:
parent
8f8d6089d6
commit
f076d979ff
31
README.md
31
README.md
|
@ -35,27 +35,18 @@ Recast Navigation is divided into multiple modules, each contained in its own fo
|
||||||
- `DotRecast.Recast.Demo`: Standalone, comprehensive demo app showcasing all aspects of Recast & Detour's functionality
|
- `DotRecast.Recast.Demo`: Standalone, comprehensive demo app showcasing all aspects of Recast & Detour's functionality
|
||||||
- `test/DotRecast.*.Test`: Unit tests
|
- `test/DotRecast.*.Test`: Unit tests
|
||||||
|
|
||||||
|
## ⚙ How it Works
|
||||||
|
|
||||||
## DotRecast.Recast
|
Recast constructs a navmesh through a multi-step mesh rasterization process.
|
||||||
|
|
||||||
Recast is state of the art navigation mesh construction toolset for games.
|
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.
|
||||||
|
|
||||||
Recast constructs a navmesh through a multi-step rasterization process:
|
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.
|
||||||
1. First Recast voxelizes the input triangle mesh by rasterizing the triangles into a multi-layer heightfield.
|
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.
|
||||||
2. Voxels in areas where the character would not be able to move are removed by applying simple voxel data filters.
|
|
||||||
3. The walkable areas described by the voxel grid are then divided into sets of 2D polygonal regions.
|
|
||||||
4. The navigation polygons are generated by triangulating and stitching together the generated 2d polygonal regions.
|
|
||||||
|
|
||||||
## DotRecast.Detour
|
|
||||||
|
|
||||||
Recast is accompanied by Detour, a path-finding and spatial reasoning toolkit. You can use any navigation mesh with Detour, but of course the data generated with Recast fits perfectly.
|
|
||||||
|
|
||||||
Detour offers a simple static navmesh data representation which is suitable for many simple cases. It also provides a tiled navigation mesh representation, which allows you to stream of navigation data in and out as the player progresses through the world and regenerate sections of the navmesh data as the world changes.
|
|
||||||
|
|
||||||
## DotRecast.Recast.Demo
|
|
||||||
|
|
||||||
You can find a comprehensive demo project in the `DotRecast.Recast.Demo` folder. It's a kitchen sink demo showcasing all the functionality of the library. If you are new to Recast & Detour, check out [SoloNavMeshBuilder.cs](/src/DotRecast.Recast.Demo/Builder/SoloNavMeshBuilder.cs) to get started with building navmeshes and [TestNavmeshTool.cs](/src/DotRecast.Recast.Demo/Tools/TestNavmeshTool.cs) to see how Detour can be used to find paths.
|
|
||||||
|
|
||||||
### Building DotRecast.Recast.Demo
|
### Building DotRecast.Recast.Demo
|
||||||
|
|
||||||
|
@ -82,10 +73,6 @@ You can find a comprehensive demo project in the `DotRecast.Recast.Demo` folder.
|
||||||
|
|
||||||
- in the DotRecast folder open a command prompt and run `dotnet test`
|
- in the DotRecast folder open a command prompt and run `dotnet test`
|
||||||
|
|
||||||
## Integrating with your game or engine
|
|
||||||
|
|
||||||
It is recommended to add the source directories `DotRecast.Core`, `DotRecast.Detour.Crowd`, `DotRecast.Detour.Dynamic`, `DotRecast.Detour.TitleCache`, `DotRecast.Detour.Extras` and `DotRecast.Recast` into your own project depending on which parts of the project you need. For example your level building tool could include `DotRecast.Core`, `DotRecast.Recast`, and `DotRecast.Detour`, and your game runtime could just include `DotRecast.Detour`.
|
|
||||||
|
|
||||||
## Discuss
|
## Discuss
|
||||||
|
|
||||||
- discussions:
|
- discussions:
|
||||||
|
|
Loading…
Reference in New Issue