때로는 내가 생각해서 뭔가를 제작하는 것보다 그대로 따라하는 것이 더 어려울 때가 있다. 모방이 반복되다보면 제대로 이해하지 못한 채 따라만 하게 되고, 오류가 생겼을 때 (스펠링 틀리거나, 매우 사소한 오류) 해결하기가 더 어려워지는 것 같다. 이번 오류는 반년간 언리얼을 공부했지만 처음 겪는 오류였고 구글링해도 정보가 거의 나오지 않거나 도움이 되지 않았다. 이말인 즉슨 다른 사람들도 거의 하지 않을만한 어이없는 오류라는 소리였고(경험상) 최대한 마음을 비우고 삽질을 시작했다.
# 사실 언리얼에 무슨 오류가 났을 때 대부분은 다음과 같은 방법으로 해결된다.
1. 기다린다. (언리얼은 가끔 업데이트가 느려 오류가 생길 때가 있다, 그렇다고 1분이상 기다리진 말것..)
2. 헤더파일을 추가한다. (언리얼이 버전업하면서 헤더가 세분화되어 Document에서 검색 후 추가해줘야 할때가 있다.)
3. 에디터와 VS를 껐다킨다. (에디터의 컴파일기능을 맹신하지 말것.)
4. 솔루션 파일 삭제 후 ReGenerate한다.
하지만 이번 오류는 위와 같은 방법으로 해결되지 않았고, 구글링해도 명쾌한 해결법이 나오지 않았다. 그러던 와중 에픽 Dev 커뮤니티에서 힌트를 얻고 답을 찾았다.
해결법
커뮤니티에서 영어로 설명한 내용중 와닿았던 것이 있는데 대충 액터가 아니라 액터 하위에 컴포넌트를 추가하고 싶은 것이냐? 이런 물음이었다. 그러고보니 C++클래스를 추가할 때 항상 Actor 바로 밑에 ActorComponent가 있다는 것을 알아챘고, 내가 ActorComponent가 아닌 Actor를 생성했기에 오류가 발생한 것이었다.
항상 정신차리고 코딩하자^^7!!
'UE4' 카테고리의 다른 글
[UE4] 위젯 UI 제작하기 (0) | 2022.11.14 |
---|---|
[UE4] UPROPERTY (0) | 2022.11.12 |
[UE4] 캐릭터 스텟 컴포넌트 만들기 (0) | 2022.11.12 |
[UE4] CSV 데이터 불러오기 (0) | 2022.11.11 |
[UE4] 이펙트 구현하기 (0) | 2022.11.11 |