Xenonsmurf / FFxi-Navmesh-Builder

c# Application to help build navigation meshes for FFXI using collision data and Recast Detour.
GNU General Public License v3.0
12 stars 10 forks source link
Ffxi_Navmesh_Builder


Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contact
  6. Acknowledgements

About The Project

This project was created in hopes to make building navmeshes for FFXI easier, and more efficient. It has been a learning experience in both c# and c++, it’s not perfect and I plan on making more improvements.

Using this project you should be able to build .obj files using collision data stored in the Dats, and build navmeshes using those .obj files.

CheckSum

Built With

Getting Started

  1. Run Ffxi_Navmesh_Builder.exe as Admin.
  2. Make sure your ffxi installation is correctly set, you can do this on the “dat” tab and click “set ffxi installation Path" and editing the textbox.

Requirements

  1. You will need to install .net5 to be able to use this application. please download .net5 from (https://dotnet.microsoft.com/download/dotnet/5.0)

  2. FFXI Installed.

Installation

  1. Download or Clone the repo.

    git clone https://github.com/xenonsmurf/Ffxi_Navmesh_Builder.git

  2. Run Ffxi_Navmesh_Builder.exe as Admin.

Usage

navmesh settings all meshes are dumped with, changing these settings will affect performance for Topaz.

if building meshes for player movement, use these settings.

Dat Tab

Here you can dump the zone collision data to obj files,

1 Set FFXI installation Path. Path must end with a trailing slash.

  1. Click Load Zones. This will read the English ZoneList.dat and populate the DataGridView with the zones found in the .dat.

  2. Select the zone you want to build the collision OBJ file for.

  3. Click "Build a obj file for selected Zone." this will build an obj file using collision data from the main zone.dat plus any submodels that are loaded.

  4. Click "Build obj files for all zones." this will build all obj for all zones using collision data from the main zone.dat plus any submodels that are loaded.

NavMesh Tab

here you can build navmeshes using FFXINAV.dll

  1. These settings are the "Default settings Topaz NavMeshes are made with. Changes to these settings will affect performance on the server.

  2. Click "Apply NavMesh Settings" this is a must, ffxinav.dll needs these settings to be able to build navmeshes.

  3. Click "Select obj file to build a NavMesh for." this will build a navmesh for the selected obj.

  4. Click "Build NavMeshes for all obj files." this will build navmeshes for all obj files.

Pleae Note:

When you click stop it will finish the Current NavMesh build.

FAQ

How do I edit the navmesh that was built with FFXINAV.dll in RecastDemo.exe?.
 *  1. Place the zone.obj file in  RecastDemo/Meshes/.
 *  2. Place the navmesh.nav in the same folder as RecastDemo.exe "RecastDemo".
 *  3. Rename "navmesh.nav" to "all_tiles_navmesh.bin".
 *  4. Open RecastDemo.exe-> on the right hand side click -> choose sample -> Tile Mesh.
       Iput Mesh -> select the .obj file you want to edit.
 *  5. Once the .obj is loaded on screen -> scroll down and click load. you will see the mesh load on screen as "blue".
       This might take a long time depending on the size of the zone.
 *  6. To remove tiles, on the left hand side click "Create Tiles" then on the mesh click Shift+ left mouse button.
 *  7. To rebuild the tile click on the part of the mesh with left mouse button.
 *  8. You can create off-mesh links with the tool on the left hand side. 
       once you have added all your off-mesh links you then need to click "Create Tiles" and "Build all Tiles".
 *  9. When you are finished click save from the tool menu on the right hand side.
 *  10.It will save as "all_tiles_navmesh.bin" you will need to rename this to "ZoneName.nav".   
when I select a zone from the list to build a collision obj file for nothing happens or I get an error?.
How do i deal with doors? the navmesh wont go past them?.

FFXINAV DLL

Roadmap

See the open issues for a list of proposed features (and known issues).

Contact

Project Link: https://github.com/xenonsmurf/Ffxi_Navmesh_Builder

Acknowledgements