This commit is contained in:
aozhiwei 2023-03-09 23:07:39 +08:00
parent 240a8ae02d
commit 7f9e47a881

View File

@ -2941,6 +2941,34 @@ void Creature::ShortFindPath()
int count = 0; int count = 0;
glm::vec3 start_pos = GetPos().ToGlmVec3() + GetMoveDir() * -1.0f * 2.0f; glm::vec3 start_pos = GetPos().ToGlmVec3() + GetMoveDir() * -1.0f * 2.0f;
#if 1
bool right_ok = false;
float right_distance = 0.0f;
{
float angle = 1.0f;
glm::vec3 move_dir = GetMoveDir();
GlmHelper::RotateY(move_dir, angle);
glm::vec3 end_pos = start_pos + move_dir * 80.0f;
glm::vec3 new_point = glm::vec3(0.0f, 0.0f, 0.0f);
bool ret = try_move(start_pos, end_pos, new_point);
if (ret) {
right_ok = true;
}
}
bool left_ok = false;
float left_distance = 0.0f;
{
float angle = -1.0f;
glm::vec3 move_dir = GetMoveDir();
GlmHelper::RotateY(move_dir, angle);
glm::vec3 end_pos = start_pos + move_dir * 80.0f;
glm::vec3 new_point = glm::vec3(0.0f, 0.0f, 0.0f);
bool ret = try_move(start_pos, end_pos, new_point);
if (ret) {
left_ok = true;
}
}
#else
for (float angle = 1.0f; angle < 90.0f; angle += 1.0f) { for (float angle = 1.0f; angle < 90.0f; angle += 1.0f) {
glm::vec3 move_dir = GetMoveDir(); glm::vec3 move_dir = GetMoveDir();
GlmHelper::RotateY(move_dir, angle); GlmHelper::RotateY(move_dir, angle);
@ -2957,7 +2985,8 @@ void Creature::ShortFindPath()
float last_distance = GlmHelper::Norm(last_pos - start_pos); float last_distance = GlmHelper::Norm(last_pos - start_pos);
float last_center_distance = GlmHelper::Norm(last_pos - GetPos().ToGlmVec3()); float last_center_distance = GlmHelper::Norm(last_pos - GetPos().ToGlmVec3());
if (curr_distance > last_distance) { if (curr_distance > last_distance) {
if (std::fabs(curr_distance - GetSpeed())) {
}
} else { } else {
} }
@ -2968,6 +2997,7 @@ void Creature::ShortFindPath()
++count; ++count;
} }
} }
#endif
} }
} }