From fe61fb7d120bd2884ba3742649c54d3214bd90cf Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 18 Aug 2020 17:03:26 +0800 Subject: [PATCH] 1 --- server/gameserver/mapinstance.cc | 6 ++++-- server/gameserver/mapservice.cc | 10 +++++----- server/gameserver/navmeshbuilder.cc | 1 + 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/server/gameserver/mapinstance.cc b/server/gameserver/mapinstance.cc index 7e80009..625e41b 100644 --- a/server/gameserver/mapinstance.cc +++ b/server/gameserver/mapinstance.cc @@ -66,8 +66,10 @@ void MapInstance::Init() NavMeshHelper::OutputObjFile(this); #endif #ifdef FIND_PATH_TEST - NavMeshBuilder::Instance()->Build(this); - map_service_->SetNavMesh(navmesh_); + if (map_meta_->i->map_id() == 4001) { + NavMeshBuilder::Instance()->Build(this); + map_service_->SetNavMesh(navmesh_); + } #endif } diff --git a/server/gameserver/mapservice.cc b/server/gameserver/mapservice.cc index f64c8c0..e8a9ab4 100644 --- a/server/gameserver/mapservice.cc +++ b/server/gameserver/mapservice.cc @@ -460,19 +460,19 @@ void MapService::UpdateNavmesh(FindPathStatus* find_status) float spos[3]; spos[0] = find_status->start_pos.x; - spos[1] = find_status->start_pos.y; - spos[2] = 0; + spos[1] = 0; + spos[2] = find_status->start_pos.y; float epos[3]; epos[0] = find_status->end_pos.x; - epos[1] = find_status->end_pos.x; - epos[2] = 0; + epos[1] = 0; + epos[2] = find_status->end_pos.y; dtQueryFilter filter; filter.setIncludeFlags(0xffff); filter.setExcludeFlags(0); - const float extents[3] = {2.f, 4.f, 2.f}; + const float extents[3] = {20.f, 0.f, 20.f}; dtPolyRef start_ref = INVALID_NAVMESH_POLYREF; dtPolyRef end_ref = INVALID_NAVMESH_POLYREF; diff --git a/server/gameserver/navmeshbuilder.cc b/server/gameserver/navmeshbuilder.cc index 38ef147..baad1e7 100644 --- a/server/gameserver/navmeshbuilder.cc +++ b/server/gameserver/navmeshbuilder.cc @@ -37,6 +37,7 @@ void NavMeshBuilder::Build(MapInstance* map_instance) CreateNavMesh(builder_params); BuildTiles(builder_params); BuildMapObstalce(builder_params); + map_instance->navmesh_ = builder_params.navmesh; } void NavMeshBuilder::InitBuilderParams(BuilderParams& builder_params)