📌 자동 네비게이션 링크 생성
월드에 NavMesh를 배치했을 때의 모습이다.
플레이어는 점프에서 여러 고지대를 올라갈 수 있지만 AI들은 NavMesh가 끊겨있고 점프로만 올라갈 수 있는 지형의 경우 앞에서 멈춰버리게 된다.
이를 해결하기 위해 기존에는 Nav Link Proxy라는 오브젝트를 레벨 내에 하나씩 배치하여 NavMesh가 끊긴 부분마다 디자인 해줬어야 했는데, Unreal 5.5 버전 부터는 RecastNavMesh-Default 내에 Generation 기능을 활용하면 자동으로 생성된다.
✅ Nav Links 활성화
기본적으로 NavMesh를 월드에 배치하고 나면, Details 창 이미지처럼 RecastNavMesh-Default 항목이 보이게 된다.
클릭 후, 아래에 Generate를 검색하면 Generate Nav Links라는 항목이 보일텐데 그것을 true로 설정해준다.
그러면 월드에 자동으로 NavMesh를 분석한 후에 끊긴 부분을 이어주는 Link들이 생겨난 것을 볼 수 있다.
여기서 끝은 아니고 Actor가 Link에 오버랩 되었을 때 어떤 동작을 할지 커스터마이징을 하는 GeneratedNavLinkProxy를 추가해주어야한다.
✅ GeneratedNavLinkProxy 생성
GeneratedNavLinksProxy 블루프린트 클래스를 생성한다.
다음과 같이 Link에 접촉한 액터에 대해 Z축으로 점프 시켜주는 로직을 작성한다.
다시 Level 창으로 돌아와 아까와 같이 RecastNavMesh-Default를 클릭해 Details 창에서 Link Proxy Class에 방금 만든 BP_NavLink(GeneratedNavLinksProxy) 클래스를 지정해준다.
추가로 자연스러운 점프를 위해 Jump Length와 Jump Max Depth의 값을 수정해주었다.
🔔 테스트 결과
예전엔 레벨에 NavLinkProxy를 레벨에 직접 배치해서 AI의 점프, 낙하, 등반 등 복잡한 이동경로는 직접 수작업으로 해야했는데,
5.5 이후에 NavMesh가 자동으로 장애물을 분석해서 경사로, 단차, 점프 가능한 간격 등을 감지하면 해당 위치에 GeneratedNavLinkProxy를 자동으로 생성해서 AI가 자연스럽게 이동하게 되는 것 같다.
'내배캠 > Unreal Engine' 카테고리의 다른 글
Debug Helper 만들기 (0) | 2025.05.01 |
---|---|
AI_Perception(플레이어 감지) (0) | 2025.04.23 |
AI_RVO(회피 이동) (0) | 2025.04.23 |
AI_NavMesh (0) | 2025.04.22 |
미로 게임 구현(Dedicated Server) (0) | 2025.03.25 |