강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

최현수님의 프로필 이미지
최현수

작성한 질문수

[Rookiss University] Haker님의 UE5 소스코드 분석 시리즈 #1 (게임 프레임워크)

9일차 1교시

CreateInnerProcessPIEGameInstance 함수에서

작성

·

8

0

안녕하세요!

처음 엔진을 초기화할 때 World->InitializeNewWorld()에서도 에디터 월드를 대상으로 (1) UpdateWorldComponents()를 호출하는데,
CreateInnerProcessPIEGameInstance()에서 호출하는 World->InitializeActorsForPlay()에서도 (2) UpdateWorldComponents()가 있어서요.

PIE 월드를 GetDuplicateWorldForPIE()를 통해 전부 복사하는 것 아니었나요? StaticDuplicateObjectEx 내부에 subobject도 복사하는 코드가 있구요.

비록 (2)번은 PersistentLevel에 한해 업데이트를 진행하지만, (1)번에서 에디터 월드를 대상으로 한 업데이트 내용이 (2) PIE월드로 넘어오면서 소실되는 것인지 궁금합니다.

좋은 강의 감사드립니다

비록 ㅇStaticDuplicateObjectExGetDGuplicateWor

답변 1

1

Liu님의 프로필 이미지
Liu
지식공유자

대부분의 요소들을 복사가 가능하지만 컴포넌트의 등록 과정은 여러 월드에 등록하는 과정이 있는데 해당 과정은 복사로 처리하기에는 문제가 있어서 안전하게 복사를 하지 않습니다.
그래서 추가적으로 컴포넌트의 등록만 따로 진행해 준다고 생각하시면 좋을 것 같습니다.

최현수님의 프로필 이미지
최현수
질문자

감사합니다!

말씀하신 여러 월드에 등록되는 과정은 CreateRenderState와 CreatePhysicsState인가요?

Liu님의 프로필 이미지
Liu
지식공유자

넵 맞습니다.

최현수님의 프로필 이미지
최현수
질문자

감사합니다!!

최현수님의 프로필 이미지
최현수

작성한 질문수

질문하기