Adaptive sampling uses rotated circluar grid. Handles tight spots better.
This commit is contained in:
parent
b13a0e60c8
commit
7774a7f45d
@ -100,7 +100,7 @@ public:
|
||||
inline void setCurrentVelocityWeight(float w) { m_weightCurVel = w; }
|
||||
inline void setPreferredSideWeight(float w) { m_weightSide = w; }
|
||||
inline void setCollisionTimeWeight(float w) { m_weightToi = w; }
|
||||
inline void setTimeHorizon(float t) { m_horizTime = t; }
|
||||
inline void setTimeHorizon(float t) { m_horizTime = t; }
|
||||
|
||||
void sampleVelocity(const float* pos, const float rad, const float vmax,
|
||||
const float* vel, const float* dvel,
|
||||
|
@ -513,6 +513,9 @@ void dtObstacleAvoidanceQuery::sampleVelocity(const float* pos, const float rad,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static const float DT_PI = 3.14159265f;
|
||||
|
||||
void dtObstacleAvoidanceQuery::sampleVelocityAdaptive(const float* pos, const float rad, const float vmax,
|
||||
const float* vel, const float* dvel,
|
||||
float* nvel,
|
||||
@ -527,41 +530,67 @@ void dtObstacleAvoidanceQuery::sampleVelocityAdaptive(const float* pos, const fl
|
||||
|
||||
// First sample location.
|
||||
float res[3];
|
||||
dtVset(res, dvel[0] * m_velBias, 0, vel[2] * m_velBias);
|
||||
float cs = vmax * (2 - m_velBias*2) / (float)(m_gridSize-1);
|
||||
dtVset(res, dvel[0] * m_velBias, 0, dvel[2] * m_velBias);
|
||||
|
||||
// Build sampling pattern aligned to desired velocity.
|
||||
static const int MAX_PATTERN_SIZE = 32;
|
||||
float pat[MAX_PATTERN_SIZE*2];
|
||||
int npat = 0;
|
||||
|
||||
// Always add sample at zero
|
||||
pat[npat*2+0] = 0;
|
||||
pat[npat*2+1] = 0;
|
||||
npat++;
|
||||
|
||||
const int nring = dtClamp(m_gridSize, 1, MAX_PATTERN_SIZE);
|
||||
const float sring = (1.0f/nring) * DT_PI*2;
|
||||
const float dang = atan2f(dvel[2], dvel[0]);
|
||||
|
||||
for (int i = 0; i < nring; ++i)
|
||||
{
|
||||
const float a = dang + (float)(i+0.5f)*sring;
|
||||
pat[npat*2+0] = cosf(a)*0.5f;
|
||||
pat[npat*2+1] = sinf(a)*0.5f;
|
||||
npat++;
|
||||
}
|
||||
for (int i = 0; i < nring; ++i)
|
||||
{
|
||||
const float a = dang + (float)i * sring;
|
||||
pat[npat*2+0] = cosf(a);
|
||||
pat[npat*2+1] = sinf(a);
|
||||
npat++;
|
||||
}
|
||||
|
||||
|
||||
float cr = vmax * (1.0f-m_velBias);
|
||||
|
||||
for (int k = 0; k < m_gridDepth; ++k)
|
||||
{
|
||||
const float half = (m_gridSize-1)*cs*0.5f;
|
||||
|
||||
float minPenalty = FLT_MAX;
|
||||
float bvel[3];
|
||||
dtVset(bvel, 0,0,0);
|
||||
|
||||
for (int y = 0; y < m_gridSize; ++y)
|
||||
|
||||
for (int i = 0; i < npat; ++i)
|
||||
{
|
||||
for (int x = 0; x < m_gridSize; ++x)
|
||||
float vcand[3];
|
||||
vcand[0] = res[0] + pat[i*2+0]*cr;
|
||||
vcand[1] = 0;
|
||||
vcand[2] = res[2] + pat[i*2+1]*cr;
|
||||
|
||||
if (dtSqr(vcand[0])+dtSqr(vcand[2]) > dtSqr(vmax+0.001f)) continue;
|
||||
|
||||
const float penalty = processSample(vcand,cr/10, pos,rad,vmax,vel,dvel, debug);
|
||||
if (penalty < minPenalty)
|
||||
{
|
||||
float vcand[3];
|
||||
vcand[0] = res[0] + x*cs - half;
|
||||
vcand[1] = 0;
|
||||
vcand[2] = res[2] + y*cs - half;
|
||||
|
||||
if (dtSqr(vcand[0])+dtSqr(vcand[2]) > dtSqr(vmax+cs/2)) continue;
|
||||
|
||||
const float penalty = processSample(vcand,cs, pos,rad,vmax,vel,dvel, debug);
|
||||
if (penalty < minPenalty)
|
||||
{
|
||||
minPenalty = penalty;
|
||||
dtVcopy(bvel, vcand);
|
||||
}
|
||||
minPenalty = penalty;
|
||||
dtVcopy(bvel, vcand);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
dtVcopy(res, bvel);
|
||||
|
||||
cs *= 0.5f;
|
||||
}
|
||||
|
||||
cr *= 0.5f;
|
||||
}
|
||||
|
||||
dtVcopy(nvel, res);
|
||||
}
|
||||
|
Binary file not shown.
@ -207,6 +207,28 @@
|
||||
6B1635DB1268881A0083FC15 /* PBXTextBookmark */ = 6B1635DB1268881A0083FC15 /* PBXTextBookmark */;
|
||||
6B1635DC1268882D0083FC15 /* PBXTextBookmark */ = 6B1635DC1268882D0083FC15 /* PBXTextBookmark */;
|
||||
6B1635DF1268887E0083FC15 /* PBXTextBookmark */ = 6B1635DF1268887E0083FC15 /* PBXTextBookmark */;
|
||||
6B1635E612688D1B0083FC15 /* PBXTextBookmark */ = 6B1635E612688D1B0083FC15 /* PBXTextBookmark */;
|
||||
6B1635E712688D1B0083FC15 /* PBXTextBookmark */ = 6B1635E712688D1B0083FC15 /* PBXTextBookmark */;
|
||||
6B1635E812688D1B0083FC15 /* PBXTextBookmark */ = 6B1635E812688D1B0083FC15 /* PBXTextBookmark */;
|
||||
6B1635E912688D1B0083FC15 /* PBXTextBookmark */ = 6B1635E912688D1B0083FC15 /* PBXTextBookmark */;
|
||||
6B1635EA12688D1B0083FC15 /* PBXTextBookmark */ = 6B1635EA12688D1B0083FC15 /* PBXTextBookmark */;
|
||||
6B1635F712688D880083FC15 /* PBXTextBookmark */ = 6B1635F712688D880083FC15 /* PBXTextBookmark */;
|
||||
6B1635FB12688DBE0083FC15 /* PBXTextBookmark */ = 6B1635FB12688DBE0083FC15 /* PBXTextBookmark */;
|
||||
6B1635FF12688E740083FC15 /* PBXTextBookmark */ = 6B1635FF12688E740083FC15 /* PBXTextBookmark */;
|
||||
6B16360312688EB40083FC15 /* PBXTextBookmark */ = 6B16360312688EB40083FC15 /* PBXTextBookmark */;
|
||||
6B1636051268911A0083FC15 /* PBXTextBookmark */ = 6B1636051268911A0083FC15 /* PBXTextBookmark */;
|
||||
6B1636061268911A0083FC15 /* PBXTextBookmark */ = 6B1636061268911A0083FC15 /* PBXTextBookmark */;
|
||||
6B1636071268911A0083FC15 /* PBXTextBookmark */ = 6B1636071268911A0083FC15 /* PBXTextBookmark */;
|
||||
6B163608126891A40083FC15 /* PBXTextBookmark */ = 6B163608126891A40083FC15 /* PBXTextBookmark */;
|
||||
6B163609126891A40083FC15 /* PBXTextBookmark */ = 6B163609126891A40083FC15 /* PBXTextBookmark */;
|
||||
6B16360A126891A40083FC15 /* PBXTextBookmark */ = 6B16360A126891A40083FC15 /* PBXTextBookmark */;
|
||||
6B16360B126891A40083FC15 /* PBXTextBookmark */ = 6B16360B126891A40083FC15 /* PBXTextBookmark */;
|
||||
6B16360C126891A40083FC15 /* PBXTextBookmark */ = 6B16360C126891A40083FC15 /* PBXTextBookmark */;
|
||||
6B16360D126891A40083FC15 /* PBXTextBookmark */ = 6B16360D126891A40083FC15 /* PBXTextBookmark */;
|
||||
6B16360E126891A40083FC15 /* PBXTextBookmark */ = 6B16360E126891A40083FC15 /* PBXTextBookmark */;
|
||||
6B163611126892060083FC15 /* PBXTextBookmark */ = 6B163611126892060083FC15 /* PBXTextBookmark */;
|
||||
6B163612126892060083FC15 /* PBXTextBookmark */ = 6B163612126892060083FC15 /* PBXTextBookmark */;
|
||||
6B163613126892060083FC15 /* PBXTextBookmark */ = 6B163613126892060083FC15 /* PBXTextBookmark */;
|
||||
6B1C8E08121EB4FF0048697F = 6B1C8E08121EB4FF0048697F /* PBXTextBookmark */;
|
||||
6B4214D911803923006C347B = 6B4214D911803923006C347B /* PBXTextBookmark */;
|
||||
6B847515122B9F4900ADF63D = 6B847515122B9F4900ADF63D /* PBXTextBookmark */;
|
||||
@ -401,9 +423,9 @@
|
||||
};
|
||||
6B137C7E0F7FCBFE00459200 /* Recast.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {931, 9087}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {931, 9555}}";
|
||||
sepNavSelRange = "{12869, 0}";
|
||||
sepNavVisRange = "{12510, 812}";
|
||||
sepNavVisRange = "{12440, 883}";
|
||||
sepNavWindowFrame = "{{15, 51}, {1214, 722}}";
|
||||
};
|
||||
};
|
||||
@ -707,7 +729,7 @@
|
||||
fRef = 6B9EFF0812281C3E00535FF1 /* DetourObstacleAvoidance.cpp */;
|
||||
name = "DetourObstacleAvoidance.cpp: 529";
|
||||
rLen = 0;
|
||||
rLoc = 12772;
|
||||
rLoc = 12814;
|
||||
rType = 0;
|
||||
vrLen = 920;
|
||||
vrLoc = 12687;
|
||||
@ -981,7 +1003,7 @@
|
||||
fRef = 6BD667D9123D28100021A7A4 /* CrowdManager.cpp */;
|
||||
name = "CrowdManager.cpp: 1034";
|
||||
rLen = 0;
|
||||
rLoc = 24844;
|
||||
rLoc = 24885;
|
||||
rType = 0;
|
||||
vrLen = 957;
|
||||
vrLoc = 24441;
|
||||
@ -1205,6 +1227,226 @@
|
||||
vrLen = 1288;
|
||||
vrLoc = 11723;
|
||||
};
|
||||
6B1635E612688D1B0083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */;
|
||||
name = "DetourNavMesh.h: 306";
|
||||
rLen = 0;
|
||||
rLoc = 12197;
|
||||
rType = 0;
|
||||
vrLen = 1206;
|
||||
vrLoc = 11852;
|
||||
};
|
||||
6B1635E712688D1B0083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B9EFF02122819E200535FF1 /* DetourObstacleAvoidance.h */;
|
||||
name = "DetourObstacleAvoidance.h: 132";
|
||||
rLen = 0;
|
||||
rLoc = 4746;
|
||||
rType = 0;
|
||||
vrLen = 1464;
|
||||
vrLoc = 3424;
|
||||
};
|
||||
6B1635E812688D1B0083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B137C7E0F7FCBFE00459200 /* Recast.h */;
|
||||
name = "Recast.h: 358";
|
||||
rLen = 0;
|
||||
rLoc = 12869;
|
||||
rType = 0;
|
||||
vrLen = 883;
|
||||
vrLoc = 12440;
|
||||
};
|
||||
6B1635E912688D1B0083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B9EFF0812281C3E00535FF1 /* DetourObstacleAvoidance.cpp */;
|
||||
name = "DetourObstacleAvoidance.cpp: 586";
|
||||
rLen = 0;
|
||||
rLoc = 13501;
|
||||
rType = 0;
|
||||
vrLen = 694;
|
||||
vrLoc = 13501;
|
||||
};
|
||||
6B1635EA12688D1B0083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B9EFF0812281C3E00535FF1 /* DetourObstacleAvoidance.cpp */;
|
||||
name = "DetourObstacleAvoidance.cpp: 607";
|
||||
rLen = 0;
|
||||
rLoc = 13880;
|
||||
rType = 0;
|
||||
vrLen = 833;
|
||||
vrLoc = 13817;
|
||||
};
|
||||
6B1635F712688D880083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B9EFF0812281C3E00535FF1 /* DetourObstacleAvoidance.cpp */;
|
||||
name = "DetourObstacleAvoidance.cpp: 625";
|
||||
rLen = 0;
|
||||
rLoc = 14179;
|
||||
rType = 0;
|
||||
vrLen = 659;
|
||||
vrLoc = 14120;
|
||||
};
|
||||
6B1635FB12688DBE0083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B9EFF0812281C3E00535FF1 /* DetourObstacleAvoidance.cpp */;
|
||||
name = "DetourObstacleAvoidance.cpp: 610";
|
||||
rLen = 0;
|
||||
rLoc = 13876;
|
||||
rType = 0;
|
||||
vrLen = 659;
|
||||
vrLoc = 14120;
|
||||
};
|
||||
6B1635FF12688E740083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B9EFF0812281C3E00535FF1 /* DetourObstacleAvoidance.cpp */;
|
||||
name = "DetourObstacleAvoidance.cpp: 614";
|
||||
rLen = 0;
|
||||
rLoc = 14011;
|
||||
rType = 0;
|
||||
vrLen = 660;
|
||||
vrLoc = 14120;
|
||||
};
|
||||
6B16360312688EB40083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B9EFF0812281C3E00535FF1 /* DetourObstacleAvoidance.cpp */;
|
||||
name = "DetourObstacleAvoidance.cpp: 580";
|
||||
rLen = 0;
|
||||
rLoc = 13113;
|
||||
rType = 0;
|
||||
vrLen = 763;
|
||||
vrLoc = 13692;
|
||||
};
|
||||
6B1636051268911A0083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B9EFF02122819E200535FF1 /* DetourObstacleAvoidance.h */;
|
||||
name = "DetourObstacleAvoidance.h: 96";
|
||||
rLen = 10;
|
||||
rLoc = 3207;
|
||||
rType = 0;
|
||||
vrLen = 1819;
|
||||
vrLoc = 3088;
|
||||
};
|
||||
6B1636061268911A0083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B9EFF0812281C3E00535FF1 /* DetourObstacleAvoidance.cpp */;
|
||||
name = "DetourObstacleAvoidance.cpp: 600";
|
||||
rLen = 0;
|
||||
rLoc = 13656;
|
||||
rType = 0;
|
||||
vrLen = 1025;
|
||||
vrLoc = 13627;
|
||||
};
|
||||
6B1636071268911A0083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B9EFF0812281C3E00535FF1 /* DetourObstacleAvoidance.cpp */;
|
||||
name = "DetourObstacleAvoidance.cpp: 594";
|
||||
rLen = 0;
|
||||
rLoc = 13464;
|
||||
rType = 0;
|
||||
vrLen = 924;
|
||||
vrLoc = 13516;
|
||||
};
|
||||
6B163608126891A40083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B9EFF02122819E200535FF1 /* DetourObstacleAvoidance.h */;
|
||||
name = "DetourObstacleAvoidance.h: 96";
|
||||
rLen = 10;
|
||||
rLoc = 3207;
|
||||
rType = 0;
|
||||
vrLen = 1819;
|
||||
vrLoc = 3088;
|
||||
};
|
||||
6B163609126891A40083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B9EFF0812281C3E00535FF1 /* DetourObstacleAvoidance.cpp */;
|
||||
name = "DetourObstacleAvoidance.cpp: 605";
|
||||
rLen = 0;
|
||||
rLoc = 13657;
|
||||
rType = 0;
|
||||
vrLen = 1067;
|
||||
vrLoc = 13632;
|
||||
};
|
||||
6B16360A126891A40083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B324C64111C5D9A00EBD2FD /* ConvexVolumeTool.h */;
|
||||
name = "ConvexVolumeTool.h: 43";
|
||||
rLen = 0;
|
||||
rLoc = 1384;
|
||||
rType = 0;
|
||||
vrLen = 1504;
|
||||
vrLoc = 249;
|
||||
};
|
||||
6B16360B126891A40083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6BAF3C581211663A008CFCDF /* CrowdTool.cpp */;
|
||||
name = "CrowdTool.cpp: 41";
|
||||
rLen = 1095;
|
||||
rLoc = 1351;
|
||||
rType = 0;
|
||||
vrLen = 1225;
|
||||
vrLoc = 1742;
|
||||
};
|
||||
6B16360C126891A40083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6BD667D8123D27EC0021A7A4 /* CrowdManager.h */;
|
||||
name = "CrowdManager.h: 232";
|
||||
rLen = 0;
|
||||
rLoc = 5681;
|
||||
rType = 0;
|
||||
vrLen = 908;
|
||||
vrLoc = 5232;
|
||||
};
|
||||
6B16360D126891A40083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6BD667D9123D28100021A7A4 /* CrowdManager.cpp */;
|
||||
name = "CrowdManager.cpp: 33";
|
||||
rLen = 0;
|
||||
rLoc = 1288;
|
||||
rType = 0;
|
||||
vrLen = 1286;
|
||||
vrLoc = 446;
|
||||
};
|
||||
6B16360E126891A40083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6BD667D9123D28100021A7A4 /* CrowdManager.cpp */;
|
||||
name = "CrowdManager.cpp: 35";
|
||||
rLen = 0;
|
||||
rLoc = 1417;
|
||||
rType = 0;
|
||||
vrLen = 1286;
|
||||
vrLoc = 446;
|
||||
};
|
||||
6B163611126892060083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6BD667D9123D28100021A7A4 /* CrowdManager.cpp */;
|
||||
name = "CrowdManager.cpp: 35";
|
||||
rLen = 0;
|
||||
rLoc = 1417;
|
||||
rType = 0;
|
||||
vrLen = 1286;
|
||||
vrLoc = 446;
|
||||
};
|
||||
6B163612126892060083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B9EFF0812281C3E00535FF1 /* DetourObstacleAvoidance.cpp */;
|
||||
name = "DetourObstacleAvoidance.cpp: 605";
|
||||
rLen = 0;
|
||||
rLoc = 13657;
|
||||
rType = 0;
|
||||
vrLen = 1067;
|
||||
vrLoc = 13632;
|
||||
};
|
||||
6B163613126892060083FC15 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B9EFF0812281C3E00535FF1 /* DetourObstacleAvoidance.cpp */;
|
||||
name = "DetourObstacleAvoidance.cpp: 574";
|
||||
rLen = 0;
|
||||
rLoc = 13769;
|
||||
rType = 0;
|
||||
vrLen = 905;
|
||||
vrLoc = 13302;
|
||||
};
|
||||
6B1C8E08121EB4FF0048697F /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 6B2AEC510FFB8946005BE9CC /* Sample_TileMesh.h */;
|
||||
@ -1255,9 +1497,9 @@
|
||||
};
|
||||
6B324C64111C5D9A00EBD2FD /* ConvexVolumeTool.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {933, 880}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {931, 715}}";
|
||||
sepNavSelRange = "{1384, 0}";
|
||||
sepNavVisRange = "{999, 754}";
|
||||
sepNavVisRange = "{249, 1504}";
|
||||
};
|
||||
};
|
||||
6B324C65111C5D9A00EBD2FD /* ConvexVolumeTool.cpp */ = {
|
||||
@ -1522,8 +1764,8 @@
|
||||
6B8DE88B10B69E4C00DF20FB /* DetourNavMesh.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {931, 5278}}";
|
||||
sepNavSelRange = "{12637, 0}";
|
||||
sepNavVisRange = "{11723, 1288}";
|
||||
sepNavSelRange = "{12197, 0}";
|
||||
sepNavVisRange = "{11852, 1206}";
|
||||
};
|
||||
};
|
||||
6B8DE88C10B69E4C00DF20FB /* DetourNavMeshBuilder.h */ = {
|
||||
@ -1663,16 +1905,16 @@
|
||||
};
|
||||
6B9EFF02122819E200535FF1 /* DetourObstacleAvoidance.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {933, 2352}}";
|
||||
sepNavSelRange = "{2796, 24}";
|
||||
sepNavVisRange = "{2788, 1084}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {931, 1963}}";
|
||||
sepNavSelRange = "{3207, 10}";
|
||||
sepNavVisRange = "{3088, 1819}";
|
||||
};
|
||||
};
|
||||
6B9EFF0812281C3E00535FF1 /* DetourObstacleAvoidance.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {931, 7397}}";
|
||||
sepNavSelRange = "{12772, 0}";
|
||||
sepNavVisRange = "{12687, 920}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {931, 7748}}";
|
||||
sepNavSelRange = "{13769, 0}";
|
||||
sepNavVisRange = "{13302, 905}";
|
||||
};
|
||||
};
|
||||
6BA1E88810C7BFC9008007F6 /* Sample_SoloMeshSimple.cpp */ = {
|
||||
@ -1955,7 +2197,7 @@
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {931, 8008}}";
|
||||
sepNavSelRange = "{1351, 1095}";
|
||||
sepNavVisRange = "{1878, 995}";
|
||||
sepNavVisRange = "{1742, 1225}";
|
||||
sepNavWindowFrame = "{{15, 51}, {1214, 722}}";
|
||||
};
|
||||
};
|
||||
@ -2240,7 +2482,7 @@
|
||||
fRef = 6BD667D9123D28100021A7A4 /* CrowdManager.cpp */;
|
||||
name = "CrowdManager.cpp: 493";
|
||||
rLen = 0;
|
||||
rLoc = 11581;
|
||||
rLoc = 11622;
|
||||
rType = 0;
|
||||
vrLen = 1249;
|
||||
vrLoc = 11428;
|
||||
@ -2599,16 +2841,16 @@
|
||||
};
|
||||
6BD667D8123D27EC0021A7A4 /* CrowdManager.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1041, 3796}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1041, 3718}}";
|
||||
sepNavSelRange = "{5681, 0}";
|
||||
sepNavVisRange = "{5284, 763}";
|
||||
sepNavVisRange = "{5232, 908}";
|
||||
};
|
||||
};
|
||||
6BD667D9123D28100021A7A4 /* CrowdManager.cpp */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {931, 16172}}";
|
||||
sepNavSelRange = "{24844, 0}";
|
||||
sepNavVisRange = "{24441, 957}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {931, 16445}}";
|
||||
sepNavSelRange = "{1417, 0}";
|
||||
sepNavVisRange = "{446, 1286}";
|
||||
};
|
||||
};
|
||||
6BD667FF123D2D230021A7A4 /* PBXTextBookmark */ = {
|
||||
|
@ -284,14 +284,14 @@
|
||||
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
|
||||
<array>
|
||||
<array>
|
||||
<integer>15</integer>
|
||||
<integer>26</integer>
|
||||
<integer>11</integer>
|
||||
<integer>1</integer>
|
||||
<integer>0</integer>
|
||||
</array>
|
||||
</array>
|
||||
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
|
||||
<string>{{0, 0}, {264, 660}}</string>
|
||||
<string>{{0, 238}, {264, 660}}</string>
|
||||
</dict>
|
||||
<key>PBXTopSmartGroupGIDs</key>
|
||||
<array/>
|
||||
@ -326,7 +326,7 @@
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>6B8632A30F78115100E2684A</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>DetourNavMesh.h</string>
|
||||
<string>DetourObstacleAvoidance.cpp</string>
|
||||
<key>PBXSplitModuleInNavigatorKey</key>
|
||||
<dict>
|
||||
<key>Split0</key>
|
||||
@ -334,11 +334,11 @@
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>6B8632A40F78115100E2684A</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>DetourNavMesh.h</string>
|
||||
<string>DetourObstacleAvoidance.cpp</string>
|
||||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>6B1635DF1268887E0083FC15</string>
|
||||
<string>6B163613126892060083FC15</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>6BBB4C34115B7A3D00CF791D</string>
|
||||
@ -368,12 +368,10 @@
|
||||
<string>6B920A521225C0AC00D5B5AD</string>
|
||||
<string>6B920A6D1225C5DD00D5B5AD</string>
|
||||
<string>6BA7F8EC1227002300C8C47A</string>
|
||||
<string>6B8476F9122D000800ADF63D</string>
|
||||
<string>6B847779122D223D00ADF63D</string>
|
||||
<string>6B84778B122D279700ADF63D</string>
|
||||
<string>6B8477BB122D297200ADF63D</string>
|
||||
<string>6B8477E1122D2B9100ADF63D</string>
|
||||
<string>6B8477EE122D2CC900ADF63D</string>
|
||||
<string>6B8477FC122D2E2A00ADF63D</string>
|
||||
<string>6B8477FE122D2E2A00ADF63D</string>
|
||||
<string>6B8477FF122D2E2A00ADF63D</string>
|
||||
@ -416,21 +414,23 @@
|
||||
<string>6B1633141268326F0083FC15</string>
|
||||
<string>6B163317126832D20083FC15</string>
|
||||
<string>6B16357012687A5D0083FC15</string>
|
||||
<string>6B16357112687A5D0083FC15</string>
|
||||
<string>6B16358E12687D740083FC15</string>
|
||||
<string>6B16359012687D740083FC15</string>
|
||||
<string>6B16359112687D740083FC15</string>
|
||||
<string>6B16359D12687D980083FC15</string>
|
||||
<string>6B1635B5126884520083FC15</string>
|
||||
<string>6B1635B6126884520083FC15</string>
|
||||
<string>6B1635B9126884520083FC15</string>
|
||||
<string>6B1635BB126884520083FC15</string>
|
||||
<string>6B1635C8126885AD0083FC15</string>
|
||||
<string>6B1635C9126885AD0083FC15</string>
|
||||
<string>6B1635D3126887C80083FC15</string>
|
||||
<string>6B1635D4126887C80083FC15</string>
|
||||
<string>6B1635D91268881A0083FC15</string>
|
||||
<string>6B1635DA1268881A0083FC15</string>
|
||||
<string>6B1635E612688D1B0083FC15</string>
|
||||
<string>6B1635E812688D1B0083FC15</string>
|
||||
<string>6B163608126891A40083FC15</string>
|
||||
<string>6B16360A126891A40083FC15</string>
|
||||
<string>6B16360B126891A40083FC15</string>
|
||||
<string>6B16360C126891A40083FC15</string>
|
||||
<string>6B163611126892060083FC15</string>
|
||||
<string>6B163612126892060083FC15</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
@ -444,18 +444,18 @@
|
||||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {992, 570}}</string>
|
||||
<string>{{0, 0}, {992, 673}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>0 59 1278 719 0 0 1280 778 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXNavigatorGroup</string>
|
||||
<key>Proportion</key>
|
||||
<string>570pt</string>
|
||||
<string>673pt</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Proportion</key>
|
||||
<string>103pt</string>
|
||||
<string>0pt</string>
|
||||
<key>Tabs</key>
|
||||
<array>
|
||||
<dict>
|
||||
@ -523,7 +523,7 @@
|
||||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{10, 27}, {992, 76}}</string>
|
||||
<string>{{10, 27}, {992, -27}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>0 59 1278 719 0 0 1280 778 </string>
|
||||
</dict>
|
||||
|
@ -31,8 +31,9 @@
|
||||
#include "DetourAssert.h"
|
||||
#include "DetourAlloc.h"
|
||||
|
||||
static const int VO_ADAPTIVE_GRID_SIZE = 4;
|
||||
static const int VO_ADAPTIVE_GRID_SIZE = 7; // this resuts 1+n*2 samples per depth.
|
||||
static const int VO_ADAPTIVE_GRID_DEPTH = 5;
|
||||
|
||||
static const int VO_GRID_SIZE = 33;
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user