본문으로 바로가기

SpawnActor와 SpawnActorDeferred

category UnrealEngine/Impl 2023. 10. 2. 20:26

 

기존의 SpawnActor는 생성과 동시에 BeginPlay를 호출해준다.

하지만 우리가 BeginPlay 이전에 어떠한 액터에 추가 작업을 해주려면 SpawnActorDeferred를 사용해야 하는데,

이때 SpawnActor와 SpawnAcatorDeferred의 차이에 대해서 코드로 확인해보자.

 

요약하자면 FinishSpawning을 호출해주냐 안해주냐의 차이이다.

FinishSpawning은 작업은 상대적으로 간단하며, 액터의 Deferred Construct을 조정한다.

 

Deferred Construct 일때는 GSpawnActorDeferredTransformCache에 해당 오브젝트의 Transform만 추가해둔다.

그리고 FinishSpawning에서 해당 Transform에 대한 처리를 한다.

원본과 비교해서, Transform이 다르다면 다시 계산한다.

 

그 후, Construct에 관한 것들을 처리한다.

 

FinishSpawning전에 액터가 삭제되면, 해당 처리를 한다.