728x90
반응형
ItemSpawner.h
UPROPERTY(EditDefaultsOnly)
TSubClassOf<AItemClass> Item;
과 같이 선언해주고 블루프린트에서 AItemClass를 매핑시켜준 다음 해당 클래스의 멤버 변수를 사용하고 싶었다.
내 생각에는 AItemClass를 담고 있으니까 매핑 후 Item에 그냥 접근해서 사용하면 될 줄 알았는데 문제가 발생했다.
만약 AItemClass에 있는 public 변수인 ItemName을 받아오고 싶다면
ItemSpawner.cpp
BeginPlay(){
FString = Item->ItemName; -> 아예 접근이 안됨
}
처럼은 접근이 아예 안됐다.
그래서 AItemClass로 캐스팅을 해서 사용을 해보려고 했는데
ItemSpawner.cpp
BeginPlay(){
FString = Item->ItemName; -> 아예 접근이 안됨
if(AItemClass* NewItem = Cast<AItemClass>(Item)){
-> 이 경우도 캐스팅에 실패하였다.
}
}
방법은 ClassDefaultsObject. 즉 CDO를 가져와서 캐스팅 해주는 것이었다.
ItemSpawner.cpp
BeginPlay(){
FString = Item->ItemName; -> 아예 접근이 안됨
if(AItemClass* NewItem = Cast<AItemClass>(Item)){
-> 이 경우도 캐스팅에 실패하였다.
}
if(AItemClass* NewItem = Cast<AItemClass>(Item->GetDefaultsObject()){
이렇게 CDO를 얻어오거나 혹은
}
if(AItemClass* NewItem = Cast<AItemClass>(Item->ClassDefaultObject){
처럼 CDO를 받아오면 된다.
}
}
음... 맞는 방법인지는 모르겠음
유저 위젯타입은 그냥 생성 가능
TSubClassOf<UUserWidget> MyWidget;
CreateWidget(GetWorld(), MyWidget);
728x90
반응형
'Unreal' 카테고리의 다른 글
[UE5/언리얼엔진5] Chaos Destruction Exporting geometry with too many verticies 경고 (0) | 2024.02.22 |
---|---|
[UE5/언리얼엔진5] Chaos Destruction 튜토리얼 / Chaos Destruction 물체 자동으로 그냥 깨짐 / 카오스 디스트럭션 (1) | 2024.02.15 |
[UE5/언리얼엔진5] 블렌더를 이용해서 믹사모 애니메이션 루트 본 추가 (0) | 2023.12.01 |
언리얼 엔진 멀티플레이 RPC관련 디버깅 (0) | 2023.10.28 |
[UE5/언리얼엔진5] AI 생성 시 컨트롤러 작동 안 함 (0) | 2023.09.01 |