This commit is contained in:
aozhiwei 2023-05-15 10:58:29 +08:00
parent 162c98190d
commit f200dd913d

View File

@ -1113,5 +1113,43 @@ bool MapInstance::GetNearestGrass(const glm::vec3& center, glm::vec3& out_pt)
void MapInstance::AdjustOnLandPoint(glm::vec3& point)
{
float center[3];
center[0] = point.x;
center[1] = point.y;
center[2] = point.z;
const float extents[3] = {4.0f/10.0f, 100.0f, 4.0f/10.0f};
dtQueryFilter filter;
filter.setIncludeFlags(0xffff);
filter.setExcludeFlags(0);
int poly_count = 0;
dtStatus status = navmesh_query_->queryPolygons(center,
extents,
&filter,
polys_,
&poly_count,
MAX_POLYS);
if (dtStatusFailed(status) || poly_count <= 0) {
return;
}
for (int i = 0; i < poly_count; ++i) {
unsigned int slat = 0;
unsigned int it = 0;
unsigned int ip = 0;
navmesh_->decodePolyId(polys_[i], slat, it, ip);
const dtMeshTile* tile = navmesh_->getTileByRef(polys_[i]);
if (!tile) {
abort();
}
if (ip >= tile->header->polyCount) {
abort();
}
const dtPoly* poly = &tile->polys[ip];
for (int ii = 0; ii < poly->vertCount; ++ii) {
const float* vc = &tile->verts[poly->verts[ii]*3];
}
}
}