231002_ NavMeshObstacle

Minsang Kim·2023년 10월 2일
0

TIL

목록 보기
33/41

NavMeshObstacle

장애물을 설정하는 컴포넌트이다.
??? : 아니 그럼 처음부터 NavMesh 구울 때 같이 굽던가 왜 이제와서 못 지나가게 하는거요?
두 경우의 가장 큰 차이점은 이동할 수 있냐 없냐이다.

NavMesh로 구울 때 Object -> Navigation Staic을 설정했던 것을 기억하나. 이거 때문에 런타임 중에는 이동이 불가능하지만, NavMeshObstacle로 설정한 장애물은 이동이 가능하다.
이게 이동하면서 에이전트를 밀어내는 것도 가능하다. 이 때 에이전트는 밀려나고 다시 그 자리로 돌아오려는 움직임을 보인다.

이 컴포넌트에서 가장 중요한 것은 Carve다. 파낸다. NavMesh 영역을 파낸다는 거시다. NavMesh를 새로 굽지 않아도 그 자리를 파내서 에이전트가 이동하지 못하게 하는 역할을 한다.

  • Move Threshold : 이거보다 작게 움직일 때는 새롭게 파지 않는다는 크기. 조금씩 움직일 때 굳이 계산안해도 될때 쓰면 될 듯. 이거보다 크게 움직일 때는 파낸 부분이 사라지고 멈추면 다시 새롭게 파낸다.
  • Time To Stationary : 바로 위의 쓰레시홀드가 멈출 때 새로 판다 그랬는데, 그 멈추는 걸 판단하는 시간이다.
  • Carve Only Stationary : 정지될 때만 파낼래를 물어보는 거. false일 때는 실시간으로 움직일 때마다 파낸다. 성능에 따라 이 옵션을 사용하자.

이 Carve 옵션을 어따 쓰냐? 예를 들면 다리를 지나가고 다리를 폭파시켜서 못 돌아가는 상황. 이럴 때 써보자.

profile
게임만 하다가 개발자로

0개의 댓글