몬스터 이동 버벅임 현상 해결하기: 네비메쉬 간섭 문제
언리얼 엔진으로 몬스터 AI를 구현하고 테스트하던 중, 몬스터가 이동할 때 버벅이는 현상을 겪었다.
처음에는 뭔가가 충돌해서 몬스터를 밀치는건가 싶었는데 아니었다.
범인은 네비메쉬(NavMesh)였다.
언리얼 엔진에서는 콜리전(Collision)이 있는 오브젝트가 월드에 스폰되면, 기본적으로 네비메쉬에 영향을 주어 AI가 그 위를 걷지 못하도록 장애물 처리를 한다. 결과적으로 몬스터는 발밑에 떨어지는 작은 골드나 시체들을 '피해야 할 벽'으로 인식하고 계속해서 경로를 재계산 하느라 버벅였던 것이다.
내 경우에는 '골드'가 범인이었는데, 몬스터 처치 시 골드가 팝콘처럼 튀어나오는 방식이다.
이 때, 골드가 공중에 떠있을 때는 벽으로 인식하면서 피하려고 하고,
땅에 떨어지면 밟고 지나갈 수 있는 바닥으로 취급해서 더욱 버벅였던 것 같다.
인게임에서 ` 를 누른 뒤 show Navigation 명령어를 통 네비메쉬를 시각화해 보면 쉽게 알 수 있다...
![]() |
![]() |
좌측은 공중에 있는 골드가 네비메쉬에 영향을 주고있다.
우측은 수정 후 정상화되었다.
이 문제는 해당 메쉬(골드, 시체, 작은 파편 등)가 네비메쉬 생성에 관여하지 않도록 설정해 주면 해결된다.
SetCanEverAffectNavigation(false) 함수로 해결할 수 있다.
if (ItemMesh)
{
ItemMesh->SetCanEverAffectNavigation(false);
}
'GameDevelop > UnrealEngine' 카테고리의 다른 글
| UnrealEngine 5.4 - 랙돌 적용, 랙돌 적용 시 바닥 뚫음 현상 (0) | 2026.03.10 |
|---|---|
| UnrealEngine 5.4 - 마우스로 뷰포트를 클릭해야 키 입력 이벤트가 발생 / 뷰포트 포커스 / 키 입력 이벤트 발생 안함 (0) | 2026.03.08 |
| 언리얼엔진의 애셋매니저(AssetManager) (0) | 2026.03.04 |
| UBT (Unreal Build Tool) (0) | 2026.01.15 |
| UHT (Unreal Header Tool) (0) | 2026.01.15 |

