1
This commit is contained in:
parent
b411624719
commit
f354a90eca
@ -721,3 +721,26 @@ int MapInstance::Raycast(int layer, const a8::Vec3& start, const a8::Vec3& end,
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool MapInstance::FindNearestPoint(const a8::Vec3& center, float radius, a8::Vec3& nearest_pt)
|
||||
{
|
||||
dtPolyRef startRef = INVALID_NAVMESH_POLYREF;
|
||||
|
||||
dtQueryFilter filter;
|
||||
filter.setIncludeFlags(0xffff);
|
||||
filter.setExcludeFlags(0);
|
||||
|
||||
const float extents[3] = {2.f, 4.f, 2.f};
|
||||
float nearestPt[3];
|
||||
|
||||
float pos[3];
|
||||
pos[0] = center.x;
|
||||
pos[1] = center.y;
|
||||
pos[2] = center.z;
|
||||
|
||||
navmesh_query_->findNearestPoly(pos, extents, &filter, &startRef, nearestPt);
|
||||
if (!startRef) {
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -50,6 +50,7 @@ class MapInstance
|
||||
unsigned int max_points,
|
||||
float max_radius);
|
||||
int Raycast(int layer, const a8::Vec3& start, const a8::Vec3& end, a8::Vec3& hit_point);
|
||||
bool FindNearestPoint(const a8::Vec3& center, float radius, a8::Vec3& nearestPt);
|
||||
|
||||
private:
|
||||
void CreateThings();
|
||||
|
Loading…
x
Reference in New Issue
Block a user