Local 좌표와 World 좌표는 무엇이 다를까?
이전 글에서는 Transform이 무엇인지, 그리고 왜 대부분의 게임 엔진들이 Position, Rotation, Scale 구조를 사용하는지를 정리했습니다. 게임 엔진은 결국 공간 안에서 객체를 배치하고 움직이는 프로그램이고, Transform은 그 공간 정보를 표현하는 핵심 구조라는 점도 함께 살펴봤습니다.…
Series Archive
게임 엔진 프레임워크의 구조와 설계 방법, 렌더링, 메모리 관리 등 내부 동작 원리를 중심으로 다루는 카테고리입니다.
이전 글에서는 Transform이 무엇인지, 그리고 왜 대부분의 게임 엔진들이 Position, Rotation, Scale 구조를 사용하는지를 정리했습니다. 게임 엔진은 결국 공간 안에서 객체를 배치하고 움직이는 프로그램이고, Transform은 그 공간 정보를 표현하는 핵심 구조라는 점도 함께 살펴봤습니다.…
게임 엔진을 공부하다 보면 정말 자주 보게 되는 단어가 있습니다. 바로 Transform입니다. 유니티를 사용해도 그렇고, 언리얼 엔진을 사용해도 그렇고 대부분의 게임 객체는 Transform 정보를 가지고 있습니다. 캐릭터를 움직이거나, 카메라를 회전시키거나, 오브젝트 크기를 변경할 때도…
게임 엔진 Component 기반 구조 완벽 이해 상속 구조부터 ECS, GameObject, Actor 흐름까지 게임 엔진을 공부하다 보면 어느 순간 비슷한 키워드들을 반복적으로 만나게 됩니다. Component ECS Data Oriented Design Cache Locality GameObject Actor 처음에는…
이전 글에서는 유니티와 언리얼 엔진이 모두 Component 기반 구조를 사용하지만, 실제로는 객체를 바라보는 방식과 엔진 철학이 조금 다르다는 점을 정리했습니다. 유니티는 비교적 조합 중심 구조가 강한 엔진에 가깝고, 언리얼 엔진은 Actor 중심 구조와 Component…
이전 글에서는 왜 최근 게임 엔진들이 Component 기반 구조를 중요하게 사용하기 시작했는지 정리했습니다. 앞서 살펴본 대로 게임은 기능 조합이 굉장히 많은 프로그램입니다. 그리고 프로젝트 규모가 커질수록 기능이 계속 추가되고, 여러 시스템들이 서로 연결되어야 합니다.…
이전 글에서는 게임 개발에서 객체 지향 상속 구조가 점점 복잡해질 수 있는 이유를 정리했습니다. 살펴본 것과 같이 게임은 생각보다 기능 조합이 굉장히 많은 프로그램입니다. 프로젝트 규모가 커질수록 복잡도 역시 빠르게 증가하기 시작합니다. 새로운 기능이…
이전 글에서는 왜 최근 게임 엔진들이 Component 기반 구조를 사용하기 시작했는지 정리했습니다. 게임은 생각보다 기능 조합이 굉장히 많은 프로그램입니다. 그리고 기능이 계속 추가되기 시작하면, 전통적인 객체 지향 상속 구조 만으로는 관리하기 어려워지는 상황들이 등장하기…
게임을 개발하다가 Player, Monster, NPC 클래스를 설계해야 하는 상황이 발생했다고 가정해봅시다. 아래와 같은 형태로 클래스를 설계할 수 있습니다. class Player { }; class Monster { }; class NPC { }; 그리고 프로젝트가 점점 커지기…
이번에는 배열에 대한 이야기를 해보려고 합니다. 자료구조를 공부하다 보면 배열은 가장 먼저 배우는 자료구조입니다. 그래서인지 배열을 너무 단순하게 생각하는 경우가 많습니다. 같은 타입의 데이터를 여러 개 저장하는 공간이고, 인덱스로 접근할 수 있는 가장 기본적인…
자료구조를 공부할 때는 보통 시간 복잡도(Big-O)를 중심으로 배우게 됩니다. 그래서 linked list는 삽입/삭제가 빠르고, vector는 중간 삽입이 느리다고 배웁니다. 그리고 게임 엔진은 linked list 같은 구조를 굉장히 많이 사용할 것 같다는 생각을 했던 것…