강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

고광형님의 프로필 이미지
고광형

작성한 질문수

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

13강 헤드업디스플레이의 구현

13강 UpdateStat 부분에서 문제를 겪고 있습니다.

작성

·

7

0

13강 거의 마지막 부분에 나오는 UpdateStat이 코드를 작성해서 빌드하면 빌드도 성공적으로 마무리되고 언리얼도 실행됩니다. 하지만 언리얼에서 플레이 버튼을 누르면 크러쉬로 종료되는 현상을 겪고 있습니다. 저 부분만 제거하고 빌드하면 아무런 문제 없이 플레이 되는걸로 봐서는 저 부분이 크러쉬 원인인 것 같은데요. 제 생각엔 코드 문제는 아닌 것 같은데... 크러쉬 원인을 모르겠습니다.


다만, 현재 추측은 3 4강? 예제를 연습 할 때 배치된 액터를 실수로 삭제했는데 그때도 빌드는 잘 되었지만 플레이 버튼을 클릭하면 크러쉬로 종료되는 경험이 있었습니다.

 

그땐 액터를 배치하고 해결 됐던 경험이 있어 혹시 그쪽 문제가 싶어서 찾아봤으나 정확한 원인을 못 찾고 있습니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 고광형님이 언급하신 문제는 언리얼 엔진 프로젝트에서 발생할 수 있는 흔한 상황 중 하나입니다. 플레이 시에 크래쉬가 발생하는 주된 원인은 다음과 같은 이유일 수 있습니다:

  1. 참조되지 않은 객체: UpdateStat 함수 내에서 사용되는 어떤 객체가 존재하지 않아서 생길 수 있습니다. 이 경우, 해당 함수가 접근하려는 객체가 제대로 초기화되었는지, 혹은 null인지 확인해보는 것이 중요합니다.

  2. 레벨 상의 오브젝트: 말씀하신 것처럼 액터 또는 컴포넌트가 레벨에서 삭제된 경우에도 문제가 발생할 수 있습니다. 관련된 액터나 컴포넌트가 디자이너나 블루프린트 상에서 삭제되었거나, 씬으로부터 빠져나갔는지 확인해보세요.

  3. 잘못된 포인터 참조: C++에서는 포인터로 객체를 참조하기 때문에, 유효하지 않은 포인터에 접근하려고 하면 크래쉬가 발생할 수 있습니다. 디버깅 툴을 통해 문제의 지점을 찾아보세요.

관련된 기존 답변들을 확인해본 결과, 다음 URL에서 유사한 문제 해결에 대한 논의가 있었습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

고광형님의 프로필 이미지
고광형

작성한 질문수

질문하기