왜 게임 엔진은 vector를 많이 사용할까?
자료구조를 공부할 때는 보통 시간 복잡도(Big-O)를 중심으로 배우게 됩니다. 그래서 linked list는 삽입/삭제가 빠르고, vector는 중간 삽입이 느리다고 배웁니다. 그리고 게임 엔진은 linked list 같은 구조를 굉장히 많이 사용할 것 같다는 생각을 했던 것 같습니다. 왜냐하면 게임은 오브젝트 생성과 삭제가…
언리얼 엔진을 공부하거나 사용하는 과정에서 참고할 수 있는 내용을 정리한 카테고리입니다.
자료구조를 공부할 때는 보통 시간 복잡도(Big-O)를 중심으로 배우게 됩니다. 그래서 linked list는 삽입/삭제가 빠르고, vector는 중간 삽입이 느리다고 배웁니다. 그리고 게임 엔진은 linked list 같은 구조를 굉장히 많이 사용할 것 같다는 생각을 했던 것 같습니다. 왜냐하면 게임은 오브젝트 생성과 삭제가…
🚀 들어가며 이전 글에서는 UClass가 실제로 어떤 정보를 가지고 있는지 살펴봤습니다. 정리하면 UClass는 단순한 클래스 이름 저장 구조가 아니라, 언리얼 엔진의 Reflection 시스템을 구성하는 핵심 메타데이터 객체입니다. 그리고 이 Reflection 시스템은 다음 흐름을 통해 만들어집니다. UCLASS / UPROPERTY / UFUNCTION…
🚀 들어가며 이전 글에서는 Unreal Header Tool(UHT)이UCLASS, UPROPERTY, UFUNCTION 같은 매크로를 분석해 Reflection 메타데이터를 생성하는 과정을 살펴봤습니다. UHT를 공부하다보면 자연스럽게 다음 질문이 생길 수 있습니다. UHT가 생성한 Reflection 정보는 어디 저장될까? 언리얼은 런타임에 클래스 정보를 어떻게 알고 있을까? 예를 들어,…
🚀 들어가며 Unreal Engine 4 시절의 C++ 코드를 보면 UObject 참조 변수를 아래와 같이 작성했습니다. UPROPERTY() AActor* TargetActor; 굉장히 익숙한 형태입니다. UObject 계열 객체는 언리얼 GC가 관리하고,UPROPERTY()매크로를 붙이면 GC가 해당 참조를 추적할 수 있습니다. 그런데 Unreal Engine 5로 넘어오면서 새로운…
🚀 들어가며 이전 글에서는 Unreal Engine이 왜 C++ 기본 RTTI 대신 자체 Reflection 시스템을 사용하는지 살펴봤습니다. 그리고 그 과정에서 자연스럽게 등장했던 것이 바로 UCLASS() UPROPERTY() UFUNCTION() GENERATED_BODY() 같은 매크로들입니다. 언리얼을 공부하다보면 이런 생각이 들 수 있습니다. GENERATED_BODY는 도대체 뭘 하는…
🚀 들어가며 이전 글에서는 Unreal Engine이 왜 C++ 기본 RTTI 대신 자체 Reflection 시스템을 사용하는지 살펴봤습니다. 언리얼은 단순 타입 확인을 넘어서 에디터 블루프린트 직렬화 네트워크 복제 가비지 컬렉션(GC) 같은 엔진 전체 기능과 연결되기 때문에, 자체적인 메타데이터 시스템이 필요했습니다. 언리얼의 메타…
🚀 들어가며 이전 글에서는 C++에서 다운캐스팅이 왜 위험한지, 그리고 dynamic_cast 없이 타입을 확인하기 위한 TypeId/TypeInfo 기반 커스텀 RTTI 시스템을 직접 구현해봤습니다. 그 과정을 보면 자연스럽게 이런 질문이 생깁니다. ❓ 그런데 Unreal Engine은 왜 C++의 기본 RTTI를 그대로 사용하지 않을까? C++에는…
3ds 맥스, 유니티, 언리얼 엔진의 스케일 – 원문 링크 – 이 글은 3ds 맥스, 유니티 3D, 언리얼 엔진의 좌표계 비교에 대한 시리즈의 마지막 글입니다. 다음은 시리즈 전체 목록입니다. UV 좌표 시스템 월드 좌표 시스템 기본 방향 스케일 3ds 맥스에서의 단위…
3ds 맥스, 유니티, 언리얼 엔진의 기준 방향 – 원문 링크 – 이 글은 3ds 맥스, 유니티 3D, 언리얼 엔진 간의 좌표계 비교에 대한 시리즈 중 세번째 글입니다. 다음은 전체 글 목록입니다. UV 좌표 시스템 월드 좌표 시스템 기본 방향…
3ds 맥스,유니티,언리얼 엔진의 월드 좌표 시스템 – 원문 링크 – 이 글은 오토데스크 3ds 맥스, 유니티 3D, 언리얼 엔진 간의 좌표 시스템 비교 시리즈의 두번째 글입니다. 이번 글에서는 월드 좌표 시스템에 대해 살펴보려고 합니다. 시리즈 전체 목록은 다음과 같습니다. UV…