게임 엔진 Component 기반 구조 완벽 이해
게임 엔진 Component 기반 구조 완벽 이해 상속 구조부터 ECS, GameObject, Actor 흐름까지 게임 엔진을 공부하다 보면 어느 순간 비슷한 키워드들을 반복적으로 만나게 됩니다. Component ECS Data Oriented Design Cache Locality GameObject Actor 처음에는…
Series Archive
언리얼 엔진을 공부하거나 사용하는 과정에서 참고할 수 있는 내용을 정리한 카테고리입니다.
게임 엔진 Component 기반 구조 완벽 이해 상속 구조부터 ECS, GameObject, Actor 흐름까지 게임 엔진을 공부하다 보면 어느 순간 비슷한 키워드들을 반복적으로 만나게 됩니다. Component ECS Data Oriented Design Cache Locality GameObject Actor 처음에는…
이전 글에서는 유니티의 GameObject와 언리얼 엔진의 Actor가 어떤 차이를 가지는지 정리했습니다. 두 엔진 모두 Component 기반 구조를 적극적으로 사용하지만, 실제로는 객체를 바라보는 방식과 철학이 다르다는 점도 함께 살펴봤습니다. 그런데 최근에는 ECS(Entity Component System), Data…
이전 글에서는 유니티와 언리얼 엔진이 모두 Component 기반 구조를 사용하지만, 실제로는 객체를 바라보는 방식과 엔진 철학이 조금 다르다는 점을 정리했습니다. 유니티는 비교적 조합 중심 구조가 강한 엔진에 가깝고, 언리얼 엔진은 Actor 중심 구조와 Component…
이전 글에서는 왜 최근 게임 엔진들이 Component 기반 구조를 중요하게 사용하기 시작했는지 정리했습니다. 앞서 살펴본 대로 게임은 기능 조합이 굉장히 많은 프로그램입니다. 그리고 프로젝트 규모가 커질수록 기능이 계속 추가되고, 여러 시스템들이 서로 연결되어야 합니다.…
이전 글에서는 게임 개발에서 객체 지향 상속 구조가 점점 복잡해질 수 있는 이유를 정리했습니다. 살펴본 것과 같이 게임은 생각보다 기능 조합이 굉장히 많은 프로그램입니다. 프로젝트 규모가 커질수록 복잡도 역시 빠르게 증가하기 시작합니다. 새로운 기능이…
이전 글에서는 왜 최근 게임 엔진들이 Component 기반 구조를 사용하기 시작했는지 정리했습니다. 게임은 생각보다 기능 조합이 굉장히 많은 프로그램입니다. 그리고 기능이 계속 추가되기 시작하면, 전통적인 객체 지향 상속 구조 만으로는 관리하기 어려워지는 상황들이 등장하기…
게임을 개발하다가 Player, Monster, NPC 클래스를 설계해야 하는 상황이 발생했다고 가정해봅시다. 아래와 같은 형태로 클래스를 설계할 수 있습니다. class Player { }; class Monster { }; class NPC { }; 그리고 프로젝트가 점점 커지기…
자료구조를 공부할 때는 보통 시간 복잡도(Big-O)를 중심으로 배우게 됩니다. 그래서 linked list는 삽입/삭제가 빠르고, vector는 중간 삽입이 느리다고 배웁니다. 그리고 게임 엔진은 linked list 같은 구조를 굉장히 많이 사용할 것 같다는 생각을 했던 것…
🚀 들어가며 이전 글에서는 UClass가 실제로 어떤 정보를 가지고 있는지 살펴봤습니다. 정리하면 UClass는 단순한 클래스 이름 저장 구조가 아니라, 언리얼 엔진의 Reflection 시스템을 구성하는 핵심 메타데이터 객체입니다. 그리고 이 Reflection 시스템은 다음 흐름을 통해…
🚀 들어가며 이전 글에서는 Unreal Header Tool(UHT)이UCLASS, UPROPERTY, UFUNCTION 같은 매크로를 분석해 Reflection 메타데이터를 생성하는 과정을 살펴봤습니다. UHT를 공부하다보면 자연스럽게 다음 질문이 생길 수 있습니다. UHT가 생성한 Reflection 정보는 어디 저장될까? 언리얼은 런타임에 클래스…