UClass 안에 ClassDefaultObject 관련 질문이 있습니다.
86
4 câu hỏi đã được viết
안녕하세요 먼저 좋은강의 감사드립니다.!
섹션2. Reflection 강의 듣고 질문드립니다.
ClassDefaultObject는 모든 UObject 기반 클래스들은 하나씩 기본으로 만들어지고 메모리에 올라가있다. 이해했습니다. 그리고 ClassDefaultObject를 다양한 곳에서 이용하는 이점이 있다로 이해는 했는데
그러면
결국 당장 안쓰더라도 모든 ClassDefaultObject가 메모리에 올라와있어서 낭비가 될 수 있는거 아닌가요?
예를들어 (메인메뉴, 인게임, 세팅창 등등) 단계별로 나누었을때 각각에 사용하는 Class들이 분리되어 있을것이고 안쓰는 Class의 DefaultObject 조차 메모리에 가지고 있는것은 낭비가 아닌지 궁금합니다.용량이 큰 메쉬 같은 것들은 생성자에서 직접적으로 넣어주는 것은 지양 해야되는건가요? - 지금 당장 사용 안해도 메모리에 올라와 있기 때문에
Câu trả lời 1
0
여기서 말하는 Default Object는, 말 그대로 UObject에서 파생된 클래스 1개당 하나의 기본 인스턴스가 만들어진다는 것인데요. 큰 프로젝트라 하더라도 어차피 클래스 개수는 그 정도로 많지 않기 때문에, 메모리 부담은 걱정할 필요가 없습니다. 메시 등의 아트 리소스가 메모리 용량을 많이 차지하는 것이지, 코드에서 파생된 CDO 인스턴스는 전부 다 합해봐야 0.0001%도 안 되는 아주 귀여운 수준입니다.
기본적으로 CDO 내용은 메쉬 등 리소스와는 무관한 내용입니다. 물론 액터 자체에 StaticMeshComponent 등을 만든 다음 용량이 큰 에셋 경로를 하드코딩으로 연결해주면, 액터를 런타임에 생성할 때 에셋 또한 로딩이 되어 있어야 하므로, 게임 시작 시 (액터를 스폰하기 위해) 살짝 버벅거릴 수 있긴 합니다. 하지만 장기적으로 에셋은 AssetManager 등을 통해 동적으로 따로 로딩해서 로딩창에 뜰 때 한방에 로딩을 하는 것이 맞지, CDO에 하드코딩하진 않아 이 또한 별개의 문제로 봐야 합니다.
1장. 파일 추가 및 삭제 에서 생성할때 에러가 납니다.
0
70
0
3d game 리소스 추출하는 방법
0
156
1
11강 2분 22초. 12강 6분 18초 영상편집오류
0
70
1
GENERATED_BODY() 빨간 밑줄이 사라지지 않습니다
0
127
2
언리얼 프로젝트를 생성할 수 없었습니다(컴파일 실패)
0
313
2
Unreal VS 빌드오류 해결 도저히 못하겠습니다.
0
715
2
WidgetBlueprint 복사 방법 질문
0
64
2
수강생으로서의 고민
0
102
1
13강. 모듈 내 하위 디렉터리 인식 못하는 문제 해결법
0
65
1
해당 강의 중반부부터 싱크가 안맞는 것 같아요
0
75
1
디아블로 방식의 컨트롤에서 타겟 위치로 이동 문제
0
123
2
디아블로 방식의 컨트롤 맨마지막 옵션관련 질문
0
85
2
32. 디아블로 방식의 컨트롤
0
76
1
점프 강의 도중의 질문입니다.
1
104
2
AssetManager 질문
0
96
1
GetAssetByName<UR1InputData>("InputData")) 질문입니다.
0
127
2
Variable Replication
0
121
1
AI #4 질문
0
117
1
언리얼 시스템의 에러? 에 대해서 질문 드립니다.
0
360
1
전혀 이해가 가질 않네요.
9
408
1
의구심이 듭니다
0
361
1
Animation Event영상에서 Notify 대신 Received_Notify()사용
0
124
0
const FObjectInitializer& ObjectInitializer 와 const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()
0
313
1
visual studio와 vscode
0
373
1

