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는 게임 개발 과정에서 중요한 역할을 하며, 씬 내에서 오브젝트 간의 상호작용을 구성하고 관리하는 기본 단위입니다.
'Unity 유니티' 카테고리의 다른 글
Unity 유니티 비쥬얼 스튜디오 편집기 업데이트 (0) | 2023.10.13 |
---|---|
유니티 코루틴?? Unity Coroutine?? hp회복 예 (0) | 2023.08.29 |
unity 유니티 오류 Scene '...' couldn't be loaded because it has not been added to the build settings or the AssetBundle has not been loaded. (0) | 2023.08.22 |
Unity 자동 완성이 안된다면?? 유니티 비주얼 스튜디오 연동 (0) | 2023.08.15 |
유니티 Unity2d Sprite Missing 오류 (0) | 2023.08.08 |
댓글