본문 바로가기
Unity 유니티

유니티 게임 오브젝트란? unity GameObject

by 지나팩 2023. 8. 23.

GameObject는 Unity에서 가장 중요하며 가장 기본적인 요소입니다.

눈에 보이는 객체든 안보이는 객체든 기본 베이스인 GameObject의 인스턴스로 생성됩니다. 

 

GameObject의 주요 특징과 구성을 알아보도록 하겠습니다.

1. Transform

모든 GameObject는 기본적으로 Transform 컴포넌트가 포함되어 있습니다. Transform은 해당 오브젝트의 위치(position), 회전(rotation), 스케일(scale)을 정의합니다. Transform을 통해 해당 오브젝트가 가상의 월드 공간에서 어디에 위치하고, 어떻게 회전하며, 크기는 얼마나 되는지를 설정할 수 있습니다.

 

2. Components

GameObject는 하나의 기능이 아닌 여러가지 기능들로 구성이 될 수 있습니다. 어떠한 기능을 하는 Component를 GameObject에 포함시킴으로 해당 오브젝트가 그 Component의 기능을 활용할 수 있게 됩니다. 흡사 모듈처럼GameObject에 Component를 붙혔다 뗐다 할 수 있습니다. GameObject를 생성하면 기본적으로 포함되는 Transform역시 

Component입니다. 다만 Transform은 제거할 수 없습니다. 

Unity에서 제공하는 Component의 종류도 상당하지만, 사용자가 직접 스크립트 컴포넌트를 추가하여 해당 오브젝트의 동작과 로직을 직접 정의할 수도 있습니다.

 

 

3. Hierarchy

GameObject는 Hierarchy(계층구조)로 구성됩니다. 한 GameObject가 다른 GameObject의 자식으로 들어가면, 부모-자식 관계를 형성하게 됩니다. 당연하게도 부모 오브젝트의 위치나 회전, 크기가 변경되면 자식 오브젝트도 영향을 받아 트랜스폼이 변경됩니다. 

 

4. Prefab

프리팹은 완성이 된 GameObject 템플릿입니다. 여러 기능들로 구성이 된 오브젝트를 재사용 가능한 형태로 저장하고 다시 사용할 수 있습니다. 클래스처럼 찍어내서 쓸 수 있는 오브젝트라고도 할 수 있습니다. 만약 그냥 오브젝트를 동적으로 생성하게 된다면 오브젝트에 포함되어야 할 컴포넌트들을 일일이 추가해야하지만 프리팹 오브젝트를 동적으로 생성한다면 그러한 수고로움은 덜 수 있습니다. 더불어 수정 사항이 생길 시 원본 프리팹 파일만 수정하면 된다는 이점도 있습니다.

물론 복사본을 수정하더라도 원본은 그대로입니다. 프리팹 파일은 프리팹으로 만들고자 하는 GameObject를 Projects 창에 있는 Assets 폴더에 드래그 앤 드랍하시면 프리팹 파일이 생성됩니다.

게임 오브젝트와 프리팹 게임 오브젝트

5. Active/Inactive

GameObject는 활성화 또는 비활성화 상태로 전환할 수 있습니다. 비활성화된 오브젝트는 렌더링되지 않으며, 물리 연산 등 포함되어 있는 모든 컴포넌트들의 기능 역시 작동하지 않습니다. 

Unity의 GameObject는 게임 개발 과정에서 중요한 역할을 하며, 씬 내에서 오브젝트 간의 상호작용을 구성하고 관리하는 기본 단위입니다.

댓글