Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- const
- 티스토리챌린지
- softeer
- C++
- 언리얼엔진5
- DeferredRendering
- 오블완
- baekjoon
- DirectX11
- directx
- RootMotion
- Unreal Engine5
- IFileDialog
- UnrealEngine5
- RVO
- NRVO
- winapi
- 백준
- 2294
- 프로그래머스
- Frustum
- 줄 세우기
- C
- UE5
- 팰린드롬 만들기
- GeeksForGeeks
- algorithm
- 1563
- Programmers
- UnrealEngine4
Archives
- Today
- Total
Game Develop
[UE5] NotifyState에서 GetWorld()는 nullptr만 반환한다. 본문
내가 설계한 구조상, 노티파이스테이트에서 매개변수로입력한 공격이름에 대한 정보를 DataManager라는 서브시스템에서 가져오게 해놨다.
그래서 으레 다른곳에서 했던것처럼
UDataManager* dataManager = GetWorld()->GetGameInstance()->GetSubsystem<UDataManager>();
이런식으로 가져왔는데, 크래쉬가 발생했다.
확인결과 GetWorld()자체가 그냥 nullptr을 반환했다.
그래서 그냥 느낌상으론, NotifyState는 액터나 액터에 부착되는 액터컴포넌트같은것들처럼 월드에 속한개념이 아니다보니(?) 그냥 nullptr을 리턴하는 것 같다.
좀 더 정확히는, 그냥 노티파이트스테이트에서 GetWorld()를 하면 UObject의 GetWorld를 가져오고, MeshComp의 GetWorld는 해당 컴포넌트를 소유한 액터의 GetWorld를 호출하게되고, 해당 액터는 자신이 속한 레벨의 월드를 결국 가져오게되니 확실하게 가져올 수 있다.
그래서 그냥 MeshComp의 GetWorld를 이용하면 된다.
이후 구글링을 해보니, 같은사례를 겪은 외국인 및 한국인이 여럿 있었다.
'UnrealEngine5 > 이것저것' 카테고리의 다른 글
[UE5] 몬스터를 공중에 띄우고 싶을 때. (1) | 2024.10.01 |
---|---|
[UE5] Motion Warping (0) | 2024.08.16 |
[UE5][이슈] 몽타주재생시 노티파이호출타이밍 조심해야 한다. (0) | 2024.06.21 |
[UE5] 언리얼 UI 최적화. (0) | 2024.06.17 |
[UE5] 몽타주 관련함수 호출순서. (0) | 2024.06.14 |