Unity 인터페이스 파헤치기 🧩
Scene의 이해 🌏
- Scene: 게임의 하나의 월드나 레벨을 관리한다.
-> 처음 Scene 생성시 Main Camera와 Directional Light가 기본으로 있다.
- Main Camera: 플레이어가 보게 될 화면을 출력한다.
- Directional Light: 전체 Scene에 빛을 만들어 준다. 자연광같은 효과를 줄 수 있다.
Hierarchy 창 🏗️
Inspector 창 🎲
Inspector 창에서 컴포넌트 추가 ➕
- Add Component: 원하는 컴포넌트를 추가한다.
ex : Rigidbody: 오브젝트의 물리 기능을 추가한다.
Game 창 🕹️
-
실제 플레이 화면을 출력한다.
-
비율 조절, 돋보기 배열 등을 사용한다.
Project 창 📂
- 모든 형태의 파일을 관리한다.
- Packages: 패키지 매니저를 통해 자동 생성한다.
- Assets: 여러 Scene을 관리 가능하다.
Console 창 🖨️
- 권고사항, 에러, 기록 로그 등의 출력을 본다.
플레이 모드의 다양한 기능 ⏯️
Unity의 플레이 모드는 게임을 실시간으로 테스트하고 디버깅하는 데 사용되는 중요한 도구다. 다음은 주요 기능들이다.
Play (▶️)
- 게임을 실시간으로 실행한다.
- 개발 중인 게임의 실제 실행을 확인한다.
- 코드 변경이나 오브젝트의 행동을 즉시 볼 수 있다.
Pause (⏸️)
- 플레이 중인 게임을 일시 중지한다.
- 게임의 특정 순간을 멈추고 분석한다.
- 변수나 상태를 조사할 수 있는 기회를 제공한다.
Step (⏭️)
- 일시 중지 상태에서 한 프레임씩 전진한다.
- 게임의 동작을 세밀하게 조사한다.
- 복잡한 로직 또는 애니메이션 문제를 진단한다.
기즈모(Gizmo) 🧲
- Scene 뷰의 왼쪽 위에 위치한다.
- Scene의 3D 객체를 시각적으로 조작하거나 확인할 수 있다.
- 카메라와 조명 등의 방향을 쉽게 바꿀 수 있다.
트랜스폼 툴바 🧰
- 객체의 위치, 회전, 크기를 변경한다.
- Move, Rotate, Scale 도구로 손쉽게 변형한다.
- Precise movement와 조정이 가능하다.
씬 탐색 🌏
씬 탐색은 Unity에서 게임의 레벨이나 맵을 구성하고 조직하는 주요 과정이다. 이를 통해 개발자는 다음과 같은 기능을 활용할 수 있다.
씬 뷰의 조작
- 마우스 휠을 스크롤하면서 줌 인/아웃을 할 수 있다.
Alt
키를 누르면서 마우스 왼쪽 버튼을 드래그해 회전시킬 수 있다.
Alt
키를 누르면서 마우스 오른쪽 버튼을 드래그해 팬을 할 수 있다.
F
키를 눌러 선택한 오브젝트에 포커스를 맞출 수 있다.
씬의 관리
- Hierarchy 창에서 씬의 오브젝트를 계층적으로 구조화한다.
- 여러 씬을 동시에 열어 작업을 병렬로 진행한다.
- 씬에 있는 오브젝트의 특성을 Inspector 창에서 편집한다.
씬 에셋
- 씬은 파일 형태로 저장되어, 프로젝트 내의 다른 레벨과 공유될 수 있다.
- 씬을 사용해 게임의 여러 레벨이나 영역을 효과적으로 관리한다.
피벗-센터 & 로컬-글로벌 전환 🔄
Unity에서 오브젝트를 조작하다 보면, 피벗 위치와 변환 공간을 변경해야 할 때가 있다.
-
피벗-센터 전환: 오브젝트의 회전과 크기 조절 시 중심점을 선택한다.
- 피벗: 오브젝트의 원점을 기준으로 함.
- 센터: 오브젝트의 중앙을 기준으로 함.
-
로컬-글로벌 전환: 오브젝트의 위치, 회전, 크기 조절을 로컬 또는 글로벌 좌표계에서 조작한다.
- 로컬: 오브젝트의 부모에 상대적인 좌표계를 사용.
- 글로벌: 전체 씬에 대한 절대적인 좌표계를 사용.
프로젝트 폴더 구조 🗄️
Unity 프로젝트의 폴더 구조는 아래와 같이 구성될 수 있다.
MyGameProject/
├── Assets/
│ ├── Scenes/
│ ├── Scripts/
│ ├── Materials/
│ └── Prefabs/
├── Packages/
└── ProjectSettings/
- Assets: 게임에 사용되는 모든 에셋을 포함 (씬, 스크립트, 머티리얼, 프리팹 등).
- Packages: 패키지 매니저를 통해 자동 생성되며, 외부 패키지를 관리한다.
- ProjectSettings: 프로젝트의 설정 파일을 저장하는 폴더다.
컴포넌트 정리 🎓
RigidBody
Unity에서 RigidBody 컴포넌트는 게임 오브젝트에 물리 연산을 적용하는 중요한 요소다. 이 컴포넌트를 오브젝트에 추가하면, 해당 오브젝트는 중력, 충돌, 회전 등 물리적 힘의 영향을 받게 된다.
- 중력의 영향: RigidBody 컴포넌트가 활성화되면, 오브젝트는 중력의 영향을 받아 떨어진다.
- 충돌 처리: RigidBody와 Collider 컴포넌트가 함께 사용되면, 충돌 검출과 반응이 가능하다.
- 물리적 제약: RigidBody의 제약 옵션을 사용하면, 특정 축을 따라 움직임을 제한하거나 회전을 제한할 수 있다.