class reference 기반 spawn 플로우
Detail Pannel에서 [class reference]칸 만들기
- ADisPatcherChild를 상속하는 클래스 중 선택
-
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Dispatcher")
TSubclassOf<ADisPatcherChild> ChildClass;
-
- 선택된 class의 객체 만들기
- [SpawnActorDeferred<AActor> 사용]
-
TempChild = GetWorld()->SpawnActorDeferred<AActor>(ChildClass, FTransform(TargetLoc), nullptr, nullptr, ESpawnActorCollisionHandlingMethod::AlwaysSpawn);
TempChild->FinishSpawning(FTransform(TargetLoc));
- Cast는 따로 해줘야 함 ( return값은 AActor type )
좌표 변환
예시 :
TargetLoc = FScaleRotationTranslationMatrix(FVector(0, 0, 0), FRotator(0, 0, 0), FVector(0, 0, 0)).TransformPosition(TargetLoc);
function Override
- 필요한 argument들을 가진 method를 만든다. ( header & source ) ( copilot🧡 )
-
- [Component or Actor] → [Target function].AddDynamic( target instance, ref 위에서만든 method )
- BP에선 override function인데, 가상함수가 아님.. arguments입력시의 휴먼에러 대한 무결성을 보장해주지는 않는듯?
- 원하는 method를 특정 event에 matching시켜주는 형태 ( parameter는 수기입.. )
- 필요한 argument들을 가진 method를 만든다. ( header & source ) ( copilot🧡 )
-
- [Component or Actor] → [Target function].AddDynamic( target instance, ref 위에서만든 method )
- BP에선 override function인데, 가상함수가 아님.. arguments입력시의 휴먼에러 대한 무결성을 보장해주지는 않는듯?
- 원하는 method를 특정 event에 matching시켜주는 형태 ( parameter는 수기입.. )
코드에서 경로로 에셋 참조하기