Knight 오브젝의 NavMeshAgent 문제
107
작성한 질문수 18

선생님의 코드를 다 마치고 몬스터를 스폰하는 테스트를 하는 중에 위와 같은 오류가 떠서 이게 뭐지 하고 있는데
Knight 프리팹으로 가서

NavMeshAgent를 추가하고 테스트를 하니 정상적으로 몬스터가 스폰이 되어서 나왔습니다. 아마도 NavMeshAgent 를 사용한 이동 방식이 문제인거 같은데... 혹시 저와 같은 문제를 겪고 계신 분들은 이렇게 하면 해결이 되는구나.. 하고 조심스레 올려 봅니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. sunrise3225님께서 경험하신 문제와 관련된 도움을 제공하겠습니다.
현재 보고하신 문제는 유니티의 MonoBehaviour와 NavMeshAgent 사용 방식과 관련이 있습니다. MonoBehaviour는 new 키워드로 생성할 수 없고, AddComponent<T>() 메소드를 통해 Unity 오브젝트에 추가해야 하는 특징이 있습니다. 또한, NavMeshAgent 컴포넌트가 없어 발생한 오류인데요, 이는 NavMeshAgent가 없으면 관련된 스크립트를 실행할 수 없기 때문입니다.
해결 방법은 다음과 같습니다:
컴포넌트는
AddComponent<T>()로 추가:MonoBehaviour,NavMeshAgent등을 꼭AddComponent<T>()메소드를 이용해 할당해야 합니다.Knight프리팹에NavMeshAgent를 직접 추가한 것은 올바른 해결책이었습니다.스크립트에서 컴포넌트 존재 확인: 스크립트에서 컴포넌트를 사용할 때 컴포넌트가 해당 오브젝트에 붙어 있는지 확인하는 로직을 추가하는 것도 좋습니다. 예를 들어,
GetComponent<NavMeshAgent>()메소드를 사용하여 반환 값이 null이 아닌지 체크하면, 해당 컴포넌트가 붙어 있는지를 알 수 있습니다.
비슷한 문제를 겪고 있는 다른 사용자들은 아래의 관련 유사질문 링크를 참고하시기 바랍니다:
- [C# 스크립트 추가시 오류]: Class 이름과 파일 이름 불일치 문제와 해결 사례.
- [NavMeshAgent를 코드에서 불러올수가 없습니다]: NavMeshAgent 관련 부재 문제.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
ResourceManager 클래스 관련 질문
1
37
2
몬스터 HP 게이지바 이동
0
24
1
매니저 관련 질문이 있습니다.
0
73
2
비쥬얼 스튜디오에서 unity연결이 없습니다.
0
80
2
UI 기능 관련 질문이 있습니다!
0
72
2
픽셀 좌표 스크린 좌표
0
56
0
전체적으로 코드 읽는게 굉장히 오래 걸리네요...
0
107
2
카메라 #2 수업 캐릭터 쓰러짐 해결
0
97
1
플레이어 움직임이 끝날때, 기울어짐 현상
0
101
1
Input 적용과 관련하여 질문 있습니다.
0
92
1
디버그 불가.. Unity에 연결 불가
0
100
1
달리기 애니메이션 에러
0
100
2
오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다
0
75
1
GetKey 오류
0
129
2
에셋을 어디에 올려두신지 알 수 있나요?
0
114
1
재귀호출? 오류나는데 왜 이래요 ?
0
180
6
Animation blending 파라미터 계산
0
76
1
newPos와 to지점이 겹쳐져야 하는거 아닌가요?
0
113
3
오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다
0
97
2
질문있습니다
0
157
2
아 이거 소스코드 같은거 없나요?
0
152
3
질문 드립니다. string.IsNullOrEmpty(name)
0
94
2
@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?
0
139
2
유니티6 NavMesh 안되는분들
1
194
1





