오늘 팀 프로젝트 개발 도중 생겼던 문제에 대해 그냥 글만 좀 남겨본다.
주요 내용은 몬스터를 생성할때 풀링을 하여 생성하는 과정에서 GameObject를 새롭게 만들어서 몬스터의 부모 GameObject로 설정하고 몬스터를 생성하자마자 NavMeshAgent 의 SetDestination 하는 경우에 몬스터가 부모의 WorldPosition으로 날아가 버리는 문제가 있었는데, 해당 문제는 NavMeshAgent가 Awake 또는 Start 할 당시에 부모의 Local Position을 미리 초기화 해버려서 길 찾기 시도 할때 시작위치를 부모의 World Position 기준으로 길 찾기를 하기 때문에 원하는 위치에서 벗어나 버리는 문제가 있었다.
이 문제는 우선 NavMeshAgent 자체를 enabled 를 false로 주고 원하는 위치로 생성한 뒤 몬스터가 활동을 시작할 때 enabled 를 true로 주면 해결이 된다.