-
Member
wowmapper is unusable and impossible to compile.
I try to export the tiles with wow.export. But in recast I just the maps without objects. I can't find a solution how to export everything correctly.
Thank you for this guide it helps me a lot. I also read a lot of this blog. It is very detailed but there is no solution to my problem.
https://drewkestell.us/Article/6/Chapter/20
My english is bad, sorry.
-
Member
this is 10 years old ofc it doesn't work. You have to do the export yourself. No tool can do it for you anymore.
ADT v18
read that link , parse files, generate terrain data, feed it to recast.
-
Member
You can use wow.export and feed it to recast, you will have to preprocess the data first (obviously you would have to do the same if you exported the data yourself).
I've recently created navmeshes for wow classic myself, it took some time as I'm not feeling at home in c++ but now I got a working solution for my c# bot.
My current approach uses multiple steps, I want to streamline it more but honestly generating the mesh is done so rarely that I might just leave it rough as is.
Current steps:
- export world data using wow.export
- preprocess data to include all objects (WMOs) and strip away terrain/non-collision surfaces that I don't want (reduces the geometry size to feed into recast)
- feeding recast with preprocessed geometry, generating the navmesh
- OPTIONAL: converting the resulting navmesh into a proper wavefront to tinker around with in other apps (e.g. blender etc)
Still looking into possible ways to optimize navmesh file size tho as a continent can get to around 200mb using my solution.
I tinkered around with a c# detour implementation but in the end wrote my own pathfinding algorithm that i can easily extend. I started out using an dijkstra algorithm but then switched to A* pretty fast because the mesh is just too huge. For most use cases it is fast enough but it is still a lot slower than the original detour c++ implementation. It can usually find a path over 2-3 zones in 1-3 sec, shorter in-zone paths will take < 100ms (just pathing a few yards will take < 1ms obviously).
Finding a path over a whole continent is a problem tho. As I am currently integrating flight paths and portals, I will also include some static zone-connections that will make calculation across zones cheaper.
Learned a lot already, still a lot to do.
-
Post Thanks / Like - 1 Thanks
Corthezz (1 members gave Thanks to swnt for this useful post)