34:44 SpawnActorDeferred 질문입니다.
FinishSpawning 이전에 StatComponent는 아직 생성자만 호출한 상태이며, InitializeComponent 호출을 하지 않았고, NonPlayer 의 경우엔 아직 PostInitializeComponent 를 호출하지 않은 상태인데, 그렇다면 Stat 이라는 이름의 StatComponent를 아직 사용하기엔 위험하다고 볼 수 없는 건가요?
SetLevel 함수 내부에 Stat 을 참조하여 Stat-> 을 하고 있는데, PostInitializeComponent 같은 것을 아직 실행하지 않은 상태에서도 이렇게 참조해도 아무런 문제가 발생하지 않는 것인가요?
답변 2
1
안녕하세요. 생성자를 통해 초기화되는 컴포넌트(CreateDefaultSubObject)는 생성이 보장되겠지만, 초기화 과정에서 컴포넌트가 생성되거나 변경된다면 정리하신 것처럼 여러 상황을 고려해야 할 것 같아요.
생성자 이외에는 다 케바케로 보고 점검해봐야하지 않을까 생각합니다.
0
안녕하세요, 인프런 AI 인턴입니다. hush park님,
스펙상 SpawnActorDeferred 단계는 액터의 생성자만 호출하고 PostInitializeComponents 및 기타 초기화 과정들은 포함하지 않은 상태입니다. 따라서, StatComponent가 완전히 초기화되지 않았을 수 있으며 이 시점에서 Stat을 참조하는 것은 일반적으로 위험할 수 있습니다.
다만, FinishSpawning 이후에는 액터의 모든 컴포넌트가 올바르게 초기화되기 때문에, 해당 함수 이후에 구성 요소를 안전하게 참조할 수 있습니다. 이런 사용 패턴은 언리얼에서 성능 최적화를 위해 Deferred 스폰 방식을 사용할 때 빈번히 발생합니다.
자세한 설명과 상황에 따른 사용 예시는 아래 게시물에서 추가적으로 확인해보실 수 있습니다:
- 함수 실행 순서 관련 질문입니다.
- 이 질문에서는 BeginPlay 및 NativeConstruct 등의 함수 간 호출 순서와 이에 따른 델리게이트 및 이벤트의 문제를 논의하며, 순서에 따른 초기화와 관련된 여러 문제를 다루고 있습니다.
- 이 질문에서는 BeginPlay 및 NativeConstruct 등의 함수 간 호출 순서와 이에 따른 델리게이트 및 이벤트의 문제를 논의하며, 순서에 따른 초기화와 관련된 여러 문제를 다루고 있습니다.
이러한 논의들이 hush park님의 이해를 돕는 데 도움이 되기를 바랍니다. 초기화 순서가 중요한 시스템에서 함수 호출의 시점과 정확한 호출 순서를 잘 이해하는 것이 중요합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
5.1 버전용 샘플을 찾을 수 없습니다.
0
12
1
무한맵 제작과정중에 GetWorld 가 Nullptr 을 반환합니다.
0
52
2
12강 행동트리에서 질문이 있습니다.
0
55
1
위젯 사이즈랑 위치 질문드려요.
0
84
3
행동트리의 데코레이션 관련하여 질문이 있습니다.
0
94
3
VS 2026 의 문제일까요?
0
511
2
에셋참조 블루프린트질문
0
70
2
애님 몽타주 콤보 관련질문
0
70
2
ThirdPerson CDO 에러가 생깁니다.
0
104
3
캐릭터가 움직이지 않습니다.
0
195
4
쿠킹 폴더 지정시 , Item 이외에는 지정하지 않는지 궁금합니다.
0
65
2
TSoftObjectPtr 를 사용했음에도, 메모리에 로드 됩니다.
0
101
2
7강에 나오는 생성자에 대해서 궁금합니다.
0
79
2
6강을 마무리하며 트레이스 채널 을 이해하지 못했습니다.
0
78
2
3강을 마무리 하며, 카메라가 움직이지 않습니다.
0
77
2
Use Controller Rotation 옵션값이 궁금합니다.
0
92
2
3강 입력 시스템 적용 중, 5.6 버전은 입력 매팅이 2개 입니다.
0
69
2
PlayerController 에 대헤 제가 잘못 이해한 것 같습니다.
0
82
2
13강 UpdateStat 부분에서 문제를 겪고 있습니다.
0
66
2
BP_PlayerController의 CustomEvent노드 이유가 궁금합니다.
0
69
1
콤포넌트 포인터 선언시 TObjectPtr<>과 UStaticMeshComponent* 차이점
0
77
2
CharacterMovementComponent의 RotationRate관련해서 질문이 있습니다.
0
118
2
언리얼 공부방법에 대해 질문드립니다.
0
92
2
4강 에서 이상한 그림자가 남습니다.
0
49
1





