Unity Nav Mesh Surface Error 해결방법



얼마전에 어떻게 수정하면되는지 알아놓고선 몇일사이에 또 잊어버려서 한참을 헤멨네요. 또다시 이런일이 발생되지 않도록 여기에 적어놓아봅니다.


Nav Mesh Surface를 사용하면 런타임에서 Navigation을 빌드할 수 있어서 정말 유용한데요,

자세한 사용법은 아래 링크를 참조하시면 됩니다.


https://docs.unity3d.com/Manual/class-NavMeshSurface.html

https://github.com/Unity-Technologies/NavMeshComponents/tree/master/Assets/NavMeshComponents/Scripts


이 NavMeshSurface를 사용해서 간단한 길찾기 게임을 만들어볼려고 테스트 해봤습니다. 아래 그림처럼 모델을 만들고 NavMeshSurface로 Build 해 봤는데....



아래와 같은 오류가 발생하면서 안되네요.


RuntimeNavMeshBuilder. Source Mesh does not allow read access: Arrow

UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)


오류가 발생한 모델의 Navigation 결과입니다. 가운데가 굴곡지게 나오는데 여기서 오류가 발생한 것 같네요.



이 문제는 아주 간단하게 해결 할 수 있습니다. Nav Mesh Surface의 속성중에서 Collect Objects 라는 항목이 있는데 이 부분이 기본으로 "All"로 세팅되어 있습니다. 요걸 "Children"로 변경해 주면 위의 에러를 간단하게 해결 할 수 있습니다.


Collect Objects : All --> Children






다음에 또 이런 오류를 만나면 이 포스팅부터 찾아봐야겠네요.