본문으로 바로가기

NewObject와 SpawnActor

category UnrealEngine/Impl 2023. 10. 3. 19:34

NewObject는 엔진이 초기화 된 이후, 런타임에서 오브젝트 생성을 위해 일반적으로 사용한다.

하지만 SpawnActor도 이와 동일한데, 무엇이 다를까?

 

결론적으로 말하자면, SpawnActor에서 Actor를 생성할 때도 NewObject를 사용한다.

AActor도 결국엔 UObject에서 파생된것이기 때문이다.

 

하지만 몇 가지 추가 작업을 더 거치게 된다.

일단 NewObject의 Outer는 당연히 ULevel이 된다.

 

그리고, 현재 Level에 Actor 목록 배열과 GC를 위한 목록 배열을 가지고 있는데 이곳에 넣어둔다.

 

또한 해당 Actor가 가지고있는 WorldTransform을 설정한다.

 

그리고 액터의 컴포넌트 생성과 연결을 처리한다.

 

즉, 해당 작업을 개인적으로 할 수 있다면 AActor를 NewObject로 만들어도 상관은 없다.

 

근데 코드를 봐서 알겠지만, 그게 더 큰 처리가 될테니 그냥 SpawnActor 쓰자