Game Object

게임 오브젝트란 레벨에 배치할 수 있는 오브젝트를 말합니다. 게임 오브젝트는 이동, 회전, 스케일과 같은 트랜스폼을 지원하는 범용 클래스입니다.  한마디로 화면상에 존재하는 UI, 몬스터, 플레이어 등등 씬을 구성하는 단위라고 생각하면 됩니다.

그리고 게임 오브젝트 안에는 여러가지 다른 부속품(component)들이 존재합니다.

Untitled

예를들어 Transform 은 크기 이동 각도 같은 작업을 담당하고 SpriteRenderer는 화면상에 그림을 그려주는 역할을 합니다. AudioSource는 소리를 재생시켜주는 역할을 하구요.

이렇게 여러개의 씬과 그 씬안에 존재하는 오브젝트들을 배치하여 게임을 만들게 됩니다.

상속 구조

게임 오브젝트를 설계할때 가장 보편적인 구조는 상속을 이용한 계층 구조입니다.

가장 보편적으로 사용 되었던 오브젝트 계층 구조 설계에 대해 이야기를 해보려 합니다.

계층 구조 설계는 말 그대로 오브젝트가 하는 기능을 중심으로 계층을 만들어 설계를 하는 것입니다.

Untitled

Player, Monster, Prop의 공통된 부분은 GameObject에서 처리를 하고 나머지 부분은 각각의 오브젝트 에서 구현하여 실행하면 됩니다.

여기에 Player와 Monster는 움직이는 계층구조를 하나 추가해보겠습니다.

Untitled