수학/이득우의 게임 수학

Scene의 구조 (1) - 프로젝트에서 Scene의 구성

monstro 2025. 12. 24. 17:05
728x90
반응형

- 개요

게임 엔진 개발자가 생성한 다양한 종류의 물체효과적으로 관리하기 위해 물체의 규격을 제시하는데,

이를 일컬어 "GameObject(유니티)" 또는 "Actor(언리얼)"라고 부른다

위와 같은 규격은 게임 엔진에서 콘텐츠를 구성하는 기본 단위로 관리된다

또한 Scene을 구성하는 기본 단위들은 게임 공간에 항상 존재해야 하므로 언제나 공간 배치 정보를 가져야 한다

따라서 GameObject와 같은 기본 단위들위치 + 회전 + 크기로 구성된 Transform의 정보로 관리된다

 

Scene - GameObject(기본단위) - Transform의 관계

 

따라서 최종적으로 SceneGameObject, 그리고 Trasform의  관계를 위와 같이 정리할 수 있다

 

- 프로젝트에서의 Scene의 처리

 

프로젝트에서 사용하는 GameEngine 클래스는 위와 같이 구성되어 있다

Scene을 관리하기 위한 자료구조로 순차 탐색에 유리한 vector를 선택하였다

Scene에 대한 SceneBegin 함수와 SceneEnd 함수가 제공되는데, 이후 렌더링 로직에서 사용한다

CreateNewGameObject 함수를 호출하여 Scene을 구성하는 GameObject를 생성한다

프로젝트에서 GameObject를 생성하는 경우 고유한 이름을 부여해야 한다

이후 부여된 이름은 GameObject의 정보를 가져오는 GetGameObject 함수에서 사용한다

 

- 프로젝트에서 GameObject의 처리

 

프로젝트에서 사용하는 GameObject 클래스는 위와 같이 구성되어 있다

위와 같이 게임 공간에서 배치되는 GameObjectTrasform 정보가 멤버변수로 포함되어 있다

TrasformComponent라는 클래스를 사용하여 Transform 정보별도의 클래스로 분리해 관리한다

 

- 프로젝트에서 Transform의 처리

 

TransformComponent 클래스는 위와 같이 구성되어 있다

위치(_Position) + 크기(_Scale) + 회전값(_Rotation)을 멤버변수로 갖고 있으며

해당 정보에 쉽게 접근하기 위한 여러 함수를 제공한다

728x90
반응형

'수학 > 이득우의 게임 수학' 카테고리의 다른 글

Scene의 구조 (3) - 로컬 공간과 로컬 축  (0) 2026.01.07
Scene의 구조 (2) - 모델링 행렬의 설계  (0) 2025.12.31
게임 엔진의 구성 요소  (0) 2025.12.24
무게중심좌표  (0) 2025.12.03
메시  (0) 2025.11.26