[TPT] 적의 시야 설정
적이 플레이어를 감지하는 방법을 정하는 것만으로도 여러가지를 생각해볼수있다.
1. 적의 시야를 기준으로 저해상도의 렌더타겟을 찍기.
-> 1-1. 그 뷰를 샘플링하여 일정량 이상 플레이어일때 탐지되도록 하기
-> 1-2. 깊이버퍼를 적용하여, 화면상에서 플레이어가 차지하는 비율이 같아도, 가까이 있다면 가중치가 더 적용되는 형식.
2. 적의 원뿔형태의 시야에서 최대한 골고루 퍼져있는 레이를 정해진 개수만큼 쏴서 탐지하기. (일부만 보이더라도 감지할수도, 아닐수도 있음.
3. 플레이어의 몸의 일정부분에 탐지가능한 메쉬를 설정해두고, 그것이 레이로 감지될때 탐지된것으로 하기. 보이는것도 가중치를 우리가 설정할수있다. 예를들어 머리의 메쉬는 가중치가 10, 손은 1 이렇게.
이제 이걸 좀 더 세부적으로 파악해보겠다.
뷰 샘플링 기반 탐지와 깊이 버퍼 가중치 적용 모두 실제 시야에 가까운 느낌이다.
그런데 이제 깊이 버퍼를 이용하면 가까이있는 플레이어를 더 잘 감지하게끔 할 수 있다.
가까이에서 얼굴만 보이는것과, 멀리서 몸 전신이 보이는 상황에서 적은 가까이에 있는 플레이어를 쫓아가게끔 현실적인 설계가 가능해보인다.
원뿔 레이캐스트 방식은 어떤 방향의 레이가 쏘아지냐에 따라 감지의 실패 성공이 결정된다. 이것은 우리의 게임에서는 어울리지 않을 수 가 있다. 감지가 된 시간의 누적에 따라 적AI의 상태가 변경되는 형식이기에, 감지 자체는 정확하게 되어야한다.
부위마다 감지 가중치 부여 방식은 플레이어가 고개 기울이기 같은것을 원활하게 이용할수있게끔 해줄수있다.
특히 우리의 게임은 플레이어가 적에게 맞설수 없는 형식이기에, 고개를 기울였을때는 노출의 가중치를 약하게 하여, 감지가 안된것으로 판단시켜서 게임의 난이도를 조절하기가 용이해진다.
혹은 기물뒤에 숨었을때 완전한 은폐가 아니더라도, 감지가 안되게끔 가능하다.
어느정도의 감지가 필요한지에 상관없이 수치 조절이 가능하기에 원뿔 레이캐스트를 단독으로 사용하는것 외에는 모든 방법을 고려해볼수 있을것 같다.