TWeakObjecPtr 과 CG 와 관련하여 궁금한점이 있습니다.
void AABStageGimmick::SpawnRewardBoxes()
{
for (const auto& RewardBoxLocation : RewardBoxLocations)
{
FVector WorldSpawnLocation = GetActorLocation() + RewardBoxLocation.Value + FVector(0.0f, 0.0f, 30.0f);
AActor* ItemActor = GetWorld()->SpawnActor(RewardBoxClass, &WorldSpawnLocation, &FRotator::ZeroRotator);
AABItemBox* RewardBoxActor = Cast<AABItemBox>(ItemActor);
if (RewardBoxActor)
{
RewardBoxActor->Tags.Add(RewardBoxLocation.Key);
RewardBoxActor->GetTrigger()->OnComponentBeginOverlap.AddDynamic(this, &AABStageGimmick::OnRewardTriggerBeginOverlap);
RewardBoxes.Add(RewardBoxActor);
}
}
}
AActor*인 ItemActor 가 가리키는 액터가 월드에서 스폰된 후, 이것을 RewardBoxes.Add(RewardBoxActor); 구문을 통해 약참조 포인터로 참조하도록 한 후 SpawnRewardBoxes() 함수를 종료 하게 되었을 때, 강참조 역할을 했던 해당 객체의 소유권을 갖고있던 지역변수 RewardBoxActor 는 소멸하므로, 강참조 포인터가 파괴됨에 따라 소유권을 가질 능력이 없는 RewardBoxes 안의 WeakPtr 또한 GC의 수집에 의해 더이상 유효하지 않게 될것처럼 느껴지는데 실제론 그렇지 않은 것인가요? 만약 그렇지 않은것이 맞다면 이유가 무엇인지 궁금합니다.
답변 1
무한맵 제작과정중에 GetWorld 가 Nullptr 을 반환합니다.
0
46
2
12강 행동트리에서 질문이 있습니다.
0
52
1
위젯 사이즈랑 위치 질문드려요.
0
81
3
행동트리의 데코레이션 관련하여 질문이 있습니다.
0
94
3
VS 2026 의 문제일까요?
0
488
2
에셋참조 블루프린트질문
0
67
2
애님 몽타주 콤보 관련질문
0
70
2
ThirdPerson CDO 에러가 생깁니다.
0
95
3
캐릭터가 움직이지 않습니다.
0
181
4
쿠킹 폴더 지정시 , Item 이외에는 지정하지 않는지 궁금합니다.
0
62
2
TSoftObjectPtr 를 사용했음에도, 메모리에 로드 됩니다.
0
94
2
7강에 나오는 생성자에 대해서 궁금합니다.
0
78
2
6강을 마무리하며 트레이스 채널 을 이해하지 못했습니다.
0
73
2
3강을 마무리 하며, 카메라가 움직이지 않습니다.
0
71
2
Use Controller Rotation 옵션값이 궁금합니다.
0
83
2
3강 입력 시스템 적용 중, 5.6 버전은 입력 매팅이 2개 입니다.
0
64
2
PlayerController 에 대헤 제가 잘못 이해한 것 같습니다.
0
78
2
13강 UpdateStat 부분에서 문제를 겪고 있습니다.
0
63
2
BP_PlayerController의 CustomEvent노드 이유가 궁금합니다.
0
64
1
콤포넌트 포인터 선언시 TObjectPtr<>과 UStaticMeshComponent* 차이점
0
72
2
CharacterMovementComponent의 RotationRate관련해서 질문이 있습니다.
0
114
2
언리얼 공부방법에 대해 질문드립니다.
0
87
2
4강 에서 이상한 그림자가 남습니다.
0
46
1
2강에서 카메라 회전안되시는분 참고
2
91
2





