일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UnrealEngine5
- winapi
- Programmers
- 1563
- 프로그래머스
- UnrealEngine4
- C++
- RVO
- 언리얼엔진5
- TObjectPtr
- 티스토리챌린지
- 2294
- directx
- algorithm
- baekjoon
- C
- RootMotion
- 오블완
- Frustum
- UE5
- IFileDialog
- 팰린드롬 만들기
- const
- 줄 세우기
- NRVO
- 백준
- DirectX11
- Unreal Engine5
- GeeksForGeeks
- softeer
- Today
- Total
목록TObjectPtr (2)
Game Develop
뭐랄까 확실하다기보다는 아직까지는 좀 더 추상적이긴 한데..언리얼 문서에서는 TObjectPtr을 써야하는 이유로 동적해상도와 액세스 추적을 추가한다! 라고 되어있다.사실 이부분은 언젠가 실제로 겪었을 때 이 글을 업데이트해야겠다고 생각한다.. 지금은 잘 모르겠다. 이것보다 좀 더 와닿는것은, 언리얼엔진만든 에픽사가 앞으로 '표준'으로써 로우포인터대신 TObjectPtr을 채택했다는 사실 자체이다.즉, 버전이업데이트될때마다 그들이 만드는 코드들은 개발자가 TObjectPtr을 사용한다는 '가정'하에 디자인할 것이라는 것.이 문구를 보니까 뭔가 로우포인터쓸지 TObjectPtr 쓰지 살짝 고민했던것이 사라졌다. 정리하자면 헤더에서 변수선언할때는 로우포인터대신 TObjectPtr을 쓰고, 함수내의 로컬변수같..
여기서 말하는 강참조는 GC의 수거대상이 안되게 참조하고있다는 의미이다.간혹 관련해서 구글링하다보면 여러글에서 TObjectPtr을 사용하면 GC가 수거를 안한다고 되어있는데, 내가 실험해본 결과는 아니다. 보통 그런글에는 TObjectPtr에 UPROPERTY가 선언되어있는데, 그렇기때문에 수거를 안한거다. 나는 실험을 위해 몬스터 때릴때 나오는 데미지위젯을 대상으로 실험해봤다.기본적으로 데미지위젯은 생성시 AddViewport로 슬레이트시스템에 등록하고 애니메이션재생이 끝나면 RemoveFromParent로 슬레이트시스템에서 제거하게 해놨다.즉 슬레이트시스템이 강하게참조하는부분은 RemoveFromParent로 삭제했으니 신경 안써도된다. 여기서 실험적인 요소를 넣어서, 데미지위젯을 CreateWid..