개발자 노트: 추격 및 감지 메커니즘

-추격 메커니즘-
추격 메커니즘을 구현하기 위해 각각의 동료마다 적용되는 의심도라는 변수를 만들었습니다.
이 의심도라는 변수는 동료가 금지구역(이를테면 금고 주변)에 있는 것이 적에게 목격되었을 때 올라가게 됩니다.
2024-03-2620-47-55-ezgif.com-video-to-gif-converter
더 정확히는 처음 적의 시야 내에 들어올 때, 그리고 적의 턴이 돌아올 때마다 적용되며, 이때 적은 일정 의심도 이상인 동료 중 가장 의심도가 높은 동료를 타깃으로 지정하고 추격합니다.
image
일정 의심도 이하면 단순히 추격만 하지만, 일정 의심도 이상이면 추격 후 대상을 공격합니다.

-감지 메커니즘-
기존 방식으로는 벽 뒤에 있는 동료 역시 감지하는 문제가 있었지만, RaycastAll을 이용한 간단한 코드로 벽 뒤에 있는 동료는 감지하지 못하게 하였습니다.
public bool IsWallBetween(Vector3 curr, Vector3 target)
{
Ray ray = new Ray(curr, target - curr);
RaycastHit hit = Physics.RaycastAll(ray);
for (int i = 0; i < hit.Length; i++)
{
if (hit[i].collider.CompareTag(“Wall”))
{
return true;
}
}
return false;
}

-그 이외-
테스트용 모델과 애니메이션을 적용했습니다
2024-03-2620-44-49-ezgif.com-video-to-gif-converter