Unity 강의 정리 1장: 유니티 준비하기 🎮

나무에물주기·2023년 8월 10일
1

Unity

목록 보기
1/21
post-thumbnail

인프런에 있는 레트로의 유니티 C# 게임 프로그래밍 에센스 강의를 듣고 정리하는 글입니다!

Unity 인터페이스 파헤치기 🧩

Scene의 이해 🌏

  • Scene: 게임의 하나의 월드나 레벨을 관리한다.
    -> 처음 Scene 생성시 Main Camera와 Directional Light가 기본으로 있다.
  • Main Camera: 플레이어가 보게 될 화면을 출력한다.
  • Directional Light: 전체 Scene에 빛을 만들어 준다. 자연광같은 효과를 줄 수 있다.

Hierarchy 창 🏗️

  • Scene에 있는 모든 오브젝트를 나열한다.

Inspector 창 🎲

  • 컴포넌트의 세부 사항을 확인하고 편집한다.

  • 게임 오브젝트: Scene의 물체나 개체를 의미한다.

  • 컴포넌트: 게임 오브젝트의 특정 기능을 부여한다. (예: 중력)

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의 제약 옵션을 사용하면, 특정 축을 따라 움직임을 제한하거나 회전을 제한할 수 있다.
profile
개인 공부를 정리함니다

0개의 댓글