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

GRstory님의 프로필 이미지
GRstory

작성한 질문수

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

15강 게임의 완성

액터 스폰과 생성자에 대한 질문이 있습니다.

작성

·

199

0

아이템박스에 상호작용 하면 아이템이 스폰되도록 시스템을 수정하고있습니다. 현재 아이템 액터를 다양하게 만들고 싶어

액터 생성자에서 메시의 패스를 받아서 초기화하는 방법을 생각했습니다.

현재 이 코드를 빌드하면 오류가 생기는데요

UObject() constructor called but it's not the object that's currently being constructed with NewObject. Maybe you are trying to construct it on the stack, which is not supported.

 

언리얼에서는 생성자를 여러개를 못만드는건가요?

또 생성자를 여러개를 만들수 있으면 SpawnActorDeferred에 어떻게 전달할 수 있는지 궁금합니다.

 

답변 1

0

이득우님의 프로필 이미지
이득우
지식공유자

생성자는 정해진 규칙으로 만들어야 합니다.
액터는 원래 ObjectInitializer라는 인자를 받아야 하는데, 이것을 편리하게 생략한 것 뿐입니다.
따라서 정리하면 다른 생성자는 만들 수 없습니다.
말씀하신 방법은 쉽게는 상속받은 블루프린트에서 각자 설정하게 하면 될 것 같습니다.
아니면 생성자 코드에서 로딩코드를 제거하고, 런타임에서 생성시 디퍼드로 일단 예비 스폰시킨 후, 준비된 경로 값으로 메시를 런타임 로딩한 다음에 FinishSpawning해서 월드에 띄워주면 될 것 같네요.

GRstory님의 프로필 이미지
GRstory

작성한 질문수

질문하기