-
NavMesh에 속하는 게임 오브젝트는
-
씬에서 고정 벽을 구축하기에 아주 좋습니다.
-
하지만 움직이는 오브젝트가
-
캐릭터의 경로를 차단하기를 원한다면 어떨까요?
-
그러기 위해서는
-
Nav Mesh Obstacle을 사용하면 됩니다.
-
Navigation Static으로 표시되어
-
NavMesh에 베이크된 게임 오브젝트와는 달리,
-
Nav Mesh Obstacle은 경로를 동적으로
-
차단할 수 있습니다.
-
Nav Mesh Obstacle의 예로는
-
열 수 있는 문이나 움직이는 차단막 같은 것이 있습니다.
-
NavMesh에 관해 자세한 사항은
-
아래 링크된 NavMesh 베이킹 강좌를 참고하십시오.
-
여기 Capsule 하나가 있는 씬이 있습니다.
-
캡슐에는 Nav Mesh Agent가 붙어 있습니다.
-
또한 Capsule은 script도 가지고 있고,
-
그것은 target 게임 오브젝트를 향해 이동하게 되어 있죠.
-
Nav Mesh Agent에 관해 자세한 사항은
-
아래 링크된 강좌를 참고하십시오.
-
또한 씬에는 테디베어 모델이 하나 있습니다.
-
이 테디베어는 Navigation Static이 아니므로
-
NavMesh에 베이크되지 않았습니다.
-
하지만 우리는 이 테디베어가
-
씬에 있는 Nav Mesh Agent의 경로를 차단하게 하고 싶습니다.
-
Nav Mesh Obstacle 컴포넌트를
-
게임 오브젝트에 추가하려면
-
Add Component 버튼을 클릭하고
-
[Navigation]-[Nav Mesh Obstacle]을 선택합니다.
-
Nav Mesh Obstacle 컴포넌트의
-
Radius 과 Height 속성은
-
캐릭터의 경로를 차단하는
-
실린더의 크기를 지정합니다.
-
Move Threshold 속성은 잠시 후에 다루기로 하지요.
-
Carve 옵션은
-
장애물이 NavMesh에 임시로 구멍을 만들 것인지를 결정합니다.
-
이것을 체크하면, 장애물이 NavMesh에
-
통과할 수 없는 지점을 생성하는 것을 볼 수 있습니다.
-
이것은 다음과 같은 방식으로 작동합니다.
-
Nav Mesh Obstacle이
-
좁은 통로를 막고 있다고 합시다.
-
만일 Carve가 선택되어 있으면 Nav Mesh Agent는
-
경로를 계산할 때 그 통로를 피할 것입니다.
-
만일 Carve가 선택되지 않으면
-
에이전트는 그 경로로 가려고 시도할 수는 있지만,
-
통과할 수는 없을 겁니다.
-
Move Threshold 속성은
-
Carve가 활성화된 상태에서만 사용합니다.
-
이 속성은
-
Nav Mesh Obstacle이 얼마나 많이 움직여야
-
NavMesh의 구멍을
-
다시 계산할 것인지 지정합니다.
-
장애물이 막고 있는 상태에서
-
씬을 실행해 봅시다.
-
Nav Mesh Agent가
-
장애물을 피해 target을 향해 이동하는 것을 볼 수 있을 것입니다.