From 15cd9620730c14469726cb8ed9c362b4a134f815 Mon Sep 17 00:00:00 2001 From: Mikko Mononen Date: Wed, 25 Sep 2013 19:53:13 +0200 Subject: [PATCH] Adjust result height for raycasting --- RecastDemo/Source/NavMeshTesterTool.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/RecastDemo/Source/NavMeshTesterTool.cpp b/RecastDemo/Source/NavMeshTesterTool.cpp index 128dbdc..4784624 100644 --- a/RecastDemo/Source/NavMeshTesterTool.cpp +++ b/RecastDemo/Source/NavMeshTesterTool.cpp @@ -850,17 +850,16 @@ void NavMeshTesterTool::recalc() else { // Hit - m_hitPos[0] = m_spos[0] + (m_epos[0] - m_spos[0]) * t; - m_hitPos[1] = m_spos[1] + (m_epos[1] - m_spos[1]) * t; - m_hitPos[2] = m_spos[2] + (m_epos[2] - m_spos[2]) * t; - if (m_npolys) - { - float h = 0; - m_navQuery->getPolyHeight(m_polys[m_npolys-1], m_hitPos, &h); - m_hitPos[1] = h; - } + dtVlerp(m_hitPos, m_spos, m_epos, t); m_hitResult = true; } + // Adjust height. + if (m_npolys > 0) + { + float h = 0; + m_navQuery->getPolyHeight(m_polys[m_npolys-1], m_hitPos, &h); + m_hitPos[1] = h; + } dtVcopy(&m_straightPath[3], m_hitPos); } }