viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced8ffa11d02831dfaf0852456fb219302713c4cc81ae38d1ea4af2b4c14d0b9969e913f5e2375637ffcd0380e7b8eb744ba286349318


좀비의 상태는 idle, move, chase 세 개로 했습니다.

idle에 진입하기 전 몇 초동안 가만히 있을지 계산해서 그 시간만큼 가만히 있다가 일정 시간이 지나면 현재 상태를 move로 바꿔주었습니다.

move에 진입하기 전에는 얼마나, 어떤 방향으로 이동할지 계산해주고 그 만큼 이동하면 다시 idle상태로 돌아가도록 했습니다.


chase상태는 Player를 쫓아가는 상태인데 Player와의 위치를 계속해서 계산하다가 일정 범위 내에 Player가 들어오면 쫓아가도록 했습니다.

이 때 Player의 transform.position을 직접 참조하는 것이 아니라 해당 값을 따로 targetPos에 저장하고 해당 position으로 이동하도록 했습니다.

범위 내에 Player가 존재하면 계속해서 targetPos를 업데이트 할 수 있도록 했고

만약 Player가 범위에서 벗어나게 되면 가장 최근에 저장된 targetPos로 이동하게 됩니다. 만약 targetPos에 도착하게 되면 다시 idle 상태에 진입하도록 했습니다.


좀 멍청해보였으면 해서 좀비끼리는 충돌을 감지하지 않도록 했습니다.


Player가 범위 내에 들어왔을 때 Player 방향으로 Ray를 쏴 벽이 있다면 Player가 범위 내에 들어와도 감지하지 못하도록 할 예정입니다.

그리고 chase일 때는 move일 때 보다 더 빠르게 움직이도록 할 생각입니다.