GameDevelop/UnrealEngine

UnrealEngine 5.4 - 몬스터가 버벅이는 현상 / 길찾기 버벅이는 현상 / 네비메쉬 간섭 문제

Une_ 2026. 4. 8. 19:58

몬스터 이동 버벅임 현상 해결하기: 네비메쉬 간섭 문제

 

 

언리얼 엔진으로 몬스터 AI를 구현하고 테스트하던 중, 몬스터가 이동할 때 버벅이는 현상을 겪었다.

 

처음에는 뭔가가 충돌해서 몬스터를 밀치는건가 싶었는데 아니었다.

범인은 네비메쉬(NavMesh)였다.

 

언리얼 엔진에서는 콜리전(Collision)이 있는 오브젝트가 월드에 스폰되면, 기본적으로 네비메쉬에 영향을 주어 AI가 그 위를 걷지 못하도록 장애물 처리를 한다. 결과적으로 몬스터는 발밑에 떨어지는 작은 골드나 시체들을 '피해야 할 벽'으로 인식하고 계속해서 경로를 재계산 하느라 버벅였던 것이다.

 

내 경우에는 '골드'가 범인이었는데, 몬스터 처치 시 골드가 팝콘처럼 튀어나오는 방식이다.

이 때, 골드가 공중에 떠있을 때는 벽으로 인식하면서 피하려고 하고,

땅에 떨어지면 밟고 지나갈 수 있는 바닥으로 취급해서 더욱 버벅였던 것 같다.

 

인게임에서 ` 를 누른 뒤  show Navigation 명령어를 통 네비메쉬를 시각화해 보면 쉽게 알 수 있다...

좌측은 공중에 있는 골드가 네비메쉬에 영향을 주고있다.

우측은 수정 후 정상화되었다.


 

이 문제는 해당 메쉬(골드, 시체, 작은 파편 등)가 네비메쉬 생성에 관여하지 않도록 설정해 주면 해결된다.

 

 

 

SetCanEverAffectNavigation(false) 함수로 해결할 수 있다.

if (ItemMesh)
{
        ItemMesh->SetCanEverAffectNavigation(false);
}