C++에서 BP(블루프린트) SpawnActor 하기 (4.15 이후)
4.12.5버전을 사용할 때에는
아래처럼 블루프린트 경로를 설정하여 사용하였었는데
FName Path = TEXT("Blueprint'/Game/Actor/My_BP.My_BP'"); //My_BP.My_BP_C였던거 같은데...4.15에서는 _C붙이면 NULL이 됨.
UBlueprint* GeneratedBP = Cast<UBlueprint>(StaticLoadObject(UBlueprint::StaticClass(), NULL, *Path.ToString()));
GetWorld()->SpawnActor<AMyActor>(GeneratedBP->GeneratedClass, location, FRotator::ZeroRotator);
4.15버전에서는 에디터에서만 되고
실행 모드나 빌드 후 exe로 게임을 실행하면 Error가 발생한다.
그래서 여러 방도를 찾다가 아래와 같이 UClass를 찾으면 된다는 걸 알아냈다.
FName Path = TEXT("Class'/Game/Actor/My_BP.My_BP_C'"); //_C 꼭 붙여야 한다.
UClass* GeneratedBP = Cast<UClass>(StaticLoadObject(UClass::StaticClass(), NULL, *Path.ToString()));
GetWorld()->SpawnActor<AMyActor>(GeneratedBP, location, FRotator::ZeroRotator);
전 버전에서도 _C붙이는 것과 안붙이는 차이가 있었긴 한데
4.15 이상으로 오면서 BP Class와 BP 레퍼런스를 받아오는 게 명확히 나뉜거 같다.
'공부 > Unreal4' 카테고리의 다른 글
Unreal4 HTML5(WebGL2) 프로토타입 - 모바일 HDR 설정 (0) | 2017.06.18 |
---|---|
C++에서 애셋 레퍼런싱(Referencing Assets) (0) | 2017.05.31 |
언리얼4 - float to FString , FString to float 주의사항 (0) | 2017.05.18 |
GetWorldTimerManager().SetTimer() (0) | 2017.05.13 |
UE4.exe 지정된 파일을 찾을 수 없습니다. (0) | 2017.05.11 |