유니티 Nav Mesh Surface 사용시 에러 해결방법(Source Mesh does not allow read access)
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
다음에 또 이런 오류를 만나면 이 포스팅부터 찾아봐야겠네요.