GameObject

김기훈·2025년 2월 6일
0

Unity

목록 보기
4/7

게임 오브젝트 (Game Object)

▪️GameObject?

Unity에서 게임 내 모든 오브젝트를 나타내는 기본 클래스로 씬(Scene)에 존재하는 캐릭터, 배경, UI, 사운드 등 모든 요소는 GameObject로 표현된다.

GameObject myObject = new GameObject("Object Name");

GameObject는 단순한 컨테이너 역할을 하며, 컴포넌트(Component)를 추가해서 실제 기능을 부여한다.

▪️특징

Transform Component가 자동으로 포함되기에 위치, 회전, 크기 조절은 기본적으로 할 수 있다.
Component가 없는 GameObject는 아무런 기능도 하지않기에, 수행하고자 하는 기능을 가진 Component를 GameObject에 추가해줘야한다.

SetActive(bool) 함수를 통해 게임 오브젝트의 활성화 상태를 설정할 수 있고, activeSelf 변수를 통해 활성화 상태를 확인할 수 있다.

Instantiate() 함수를 통해 기존 오브젝트 복제 가능 (프리팹 기반 복제)

GameObject enemyPrefab = Resources.Load<GameObject>("EnemyPrefab");
GameObject newEnemy = Instantiate(enemyPrefab);

Transform & RectTransform

GameObject는 기본적으로 Transform Component를 가지지만, UI 요소는 RectTransform Component를 사용한다.

즉, UI를 조작할 때는 RectTransform을, 일반적인 게임 오브젝트를 조작할 때는 Transform을 사용해야한다.

구분TransformRectTransform
사용 대상3D 오브젝트 및 일반 2D 오브젝트UI 요소 (Canvas 내의 요소)
위치 지정 방식X,Y,Z 좌표 사용앵커(Anchor)와 피벗(Pivot)을 활용한 UI 좌표계
크기 조절Scale 값을 사용하여 크기 조정Width, Heigth 값이 있으며, 크기 조절 시 더 정밀한 컨트롤 가능
회전 방식Quaternion을 이용한 3D 회전2D UI 요소이므로 주로 Z축 회전
부모-자식 관계일반 Transform 구조부모 UI 요소의 크기와 위치에 상대적으로 영향을 받음
profile
Late Bloomer

0개의 댓글