인프런 커뮤니티 질문&답변

조영웅님의 프로필 이미지
조영웅

작성한 질문수

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

8강 아이템 시스템

"에셋을 로딩한다"의 의미

해결된 질문

작성

·

300

0

8강 소프트 레퍼런싱에 대해서 강의를 듣다가 에셋이 로딩되고 객체에 할당되는 과정에 궁금증이 생겼습니다.

 

제 생각은 다음과 같습니다.
에셋이 로딩되면 에셋의 데이터를 가지고 객체를 만든다. 그리고 해당 에셋을 사용하는 클래스가 인스턴싱될 때 로딩된 에셋(객체화된 에셋)을 복사해서 추가한다.
만약 같은 에셋을 사용하는 클래스가 두 개 이상이라면, 로딩된 에셋을 두 번 복사하게 된다.

즉, 에셋을 로딩한다는 것은 복사를 위한 원본 객체를 생성하는 것을 의미한다.

 

제 생각이 맞을까요?

 

답변 1

0

이득우님의 프로필 이미지
이득우
지식공유자

음 그렇게 만들 수도 있지만, 자원의 낭비가 심해지겠지요?
일반적으로 게임 엔진은 하나의 에셋을 디스크로부터 메모리에 로딩한 후 공유하는 형태로 사용합니다. 이 때는 읽기 전용이 되겠죠. 이것이 일반적인 방법이지만, 그런데 메모리에 올라온 애셋정보를 변경해야 할 때도 있습니다. 이 때는 별도의 복제된 인스턴스를 생성하고 복제된 인스턴스를 할당해 작업합니다.

조영웅님의 프로필 이미지
조영웅

작성한 질문수

질문하기