[Unity] Unity 기초강의 내용 정리 (0-0강 ~ 1-5강)

[Unity] Unity 기초강의 내용 정리 (0-0강 ~ 1-5강)

다시 Unity를 공부해보기로 마음먹었음.

educast 나동빈 님의 <Mobile Defence Game 제작으로 배우는 Unity 기초> 강의를 듣고 내용 정리.

0-0강 : Unity 소개 및 개발환경 구축하기

1-1강 ~ 1-5강 : Part 1. Unity와 친해지기

———-

유니티 0-0강 : 유니티 소개 및 개발환경 구축하기

유니티 허브 : 다양한 게임 프로젝트 버전 관리

cf) 깃 허브, 도커 허브

Visual Studio 설치하라고 하면 무조건 설치할 것

유니티 2018 : 모노 디벨롭 지원을 끊고, Visual Studio 로 개발하도록 환경 채택

C# : 마이크로소프트에서 지원하는 개발언어

(1) Scripts 폴더를 만든다.

마우스 우클릭 – Create – Folder

(2) 그 안에 Example 이라는 C# 스크립트 파일을 만든다.

마우스 우클릭 – Create – C# Script

(3) void Start () {} 내용 안에

Debug.Log(“Hello World”);

라고 적는다.

(4) Example 파일을 마우스로 끌어다가 [Main Camera] 에 드래그 앤 드랍한다.

재생 버튼을 눌러 실행하면 콘솔에 Hello World 가 찍힌다.

———-

유니티 1-1강 : 오브젝트와 컴포넌트

유니티에서 아주 중요한 개념.

오브젝트 : 사물. 객체. (몬스터, 캐릭터, 건물 등) 게임 화면에서 보이는 것, 들리는 것은 전부 오브젝트라고 할 수 있음.

컴포넌트 : 오브젝트를 구성하는 기능. (공격, 이동, Object의 위치, 상태 정보 등)

오브젝트는 컴포넌트를 담는 그릇과도 같은 역할을 하기 때문에,

오브젝트를 컨테이너라고도 한다.

오브젝트는 껍데기이고, 컴포넌트는 껍데기를 채우는 내용물이다.

용 (오브젝트) – 불을 뿜는 기능 (컴포넌트)

사람 (오브젝트) – 달리는 기능 (컴포넌트)

건물 (오브젝트) – 건물이 공격을 받아 파괴당하는 기능 (컴포넌트)

씬 : 화면

화면에 보이는 몬스터 캐릭터 : 오브젝트임

하나의 오브젝트가 가지고 있는 모든 기능을 컴포넌트라고 보면 됨.

———-

유니티 1-2강 : 프로젝트 뷰와 씬 뷰

Assets[어쎗츠] : 게임을 만들기 위한 자산. 모든 재료들을 총칭. 이미지 파일, 소스 파일 등을 담는 폴더임.

Scenes[씬즈] : 로딩 화면, 엔딩 화면, 스테이지 1과 스테이지 2 등. 씬은 오브젝트와 컴포넌트

프로젝트 뷰 패널 : 어쎗츠와 씬즈를 관리하는 패널.

패키지 파일 : 게임 개발을 위한 여러 개의 파일을 하나로 묶어 저장하고 불러올 수 있는 파일임.

(패키지 파일을 프로젝트 뷰에 드래그 앤 드랍을 하면 임포트할지 선택 가능)

 

프로젝트 뷰에 게임에 사용되는 파일들을 체계적으로 관리하는 습관 중요. 대형 프로젝트의 경우 폴더 관리 중요함.

ex) Audios, Scenes, Scripts, Sprites

1. 씬 만들기

[File] – [New Scene]

Untitled 라는 씬이 생김.

프로젝트 뷰의 Sprites 폴더의 Monster 1 이미지 파일을 중앙 회색 화면(씬 뷰)로 드래그 앤 드랍해보자.

오브젝트를 생성(배치)하는 가장 간단한 방법임.

2. 씬 저장

[File] – [Save Scene As…] – 원하는 이름으로 저장 (ex : Scene0)

이러한 씬들이 여러 개 모여서 하나의 프로젝트(게임)을 완성하게 된다.

3. 이번 시간 요약

Project View : 프로젝트에서 사용될 모든 파일을 관리할 수 있는 View. 아래 쪽에 보이는 뷰임.

Scene View : 한 Scene에서 사용되는 Object들을 실제로 배치하는 View.

———-

유니티 1-3강 : 하이어라키 뷰와 인스펙터 뷰

하이어라키 뷰 : 좌측 상단에 표시되는 뷰. 하나의 씬 내부에서 사용되는 오브젝트들을 생성 및 관리하는 뷰임.

오브젝트를 하이어라키 뷰 안에서 관리할 수 있음. 우클릭해서 Delete 할 수도 있고, Rename 할 수도 있다.

하이어라키 뷰에서 오브젝트를 생성할 수도 있음. 하이어라키 뷰에서 마우스 우클릭해서 Create Empty 하면 됨.

이 때 게임을 실행하면 아무것도 표시되지 않음. 빈 오브젝트에 스프라이트 렌더러라는 컴포넌트를 추가해줘야 함.

빈 오브젝트를 클릭하고 우측의 인스펙터 뷰를 보자.

인스펙터 뷰에는 Transform 컴포넌트만 보일 것임. 어떠한 오브젝트라도 가지고 있는 기본 컴포넌트임.

Add Component 라는 버튼을 클릭하자.

영어로 Sprite Renderer 를 검색하여 더블클릭.

Sprite Renderer 상단의 Sprite 항목의 우측 O 버튼을 클릭 후 Assets 탭을 누르면 스프라이트 이미지 설정 가능.

(ex : 몬스터1 이미지)

2D 게임을 만들기 위해서는 트랜스폼 컴포넌트의 X 값과 Y 값을 조절하면 된다.

2D 게임이므로 Z 값은 0으로 주도록 한다. 가끔 오브젝트가 안보일 때가 있는 때 보통 트랜스폼 컴포넌트의 Z 값을 잘못 건드린 경우가 많다.

Scale 항목의 X, Y 값을 0.5 로 바꾸면 크기가 줄어든다.

시간날 때 Rotation 값도 바꿔보자.

1. 레이어 개념 (Sorting Layer와 Order in Layer)

두 개의 몬스터 오브젝트의 트랜스폼 컴포넌트 X와 Y값을 둘 다 0 으로 잡혔을 때

Sprite Renderer 의 Order in Layer 값을 조절하면 레이어 순서 바꾸기 가능.

Order in Layer 값이 크면 위에 있다고 보면 된다.

Sorting Layer 항목 콤보박스 클릭 – [Add Sorting Layer…] – 작은 [+] 버튼 클릭

– 원하는 레이어 이름 쓰고 엔터 (ex : Monster Layer)

Sorting Layer 를 기준으로 먼저 정렬이 이루어지고,

동일한 Sorting Layer 안에서는 Order in Layer 값을 기준으로 정렬이 이루어진다.

2. 이번 시간 요약

Hierarchy View : 한 Scene 내부에서 사용되는 Object 들을 생성 및 관리하는 View

Inspector View : 한 Object에서 사용되는 Component 들을 관리하는 View

———-

유니티 1-4강 : 씬 뷰 조작과 게임 뷰

1. 좌측상단 버튼

Q W E R T Y 단축키 => 유니티 좌측상단 버튼에 대응

Q : 핸드 툴. (손바닥 모양)

마우스나 키보드를 통해서 씬을 살펴볼 수 있음.

W : 무브 툴. (십자 화살표 모양)

오브젝트를 클릭하고 초록색 세로 선과 빨간색 가로 선이 나옴.

파란색 박스를 이용하면 자유자재로 이동 가능.

E : 로테이트 툴 (원형을 이루는 화살표 2개 모양)

동그라미 선과 십자 선 중 클릭한 선을 기준으로 회전이 되는 것을 알 수 있음.

R : 스케일 툴 (사각형 꼭지점 방향으로 화살표 4개 모양)

특정한 오브젝트를 선택해서 그 크기를 변형시킬 수 있음.

T : 렉트 툴 (사각형 안에 사각형 있는 모양)

특정한 오브젝트를 선택해서 사각형 형태로 위치, 크기, 회전을 변경할 수 있는 도구임.

특정한 오브젝트의 대략적인 트랜스폼을 설정하기에 매우 유용함.

나중에 인터페이스를 배울 때 많이 쓰이게 되는 중요 기능임.

Y : 무브/로테이트/스케일 툴

유니티 2018부터 추가된 기능임. 무브, 로테이트, 스케일 등을 모두 사용 가능.

위 툴들로는 대략적인 위치만 잡고, 상세하게는 직접 인풋박스에 입력하는게 좋음.

2. 마우스 휠

휠을 앞으로 굴려서 화면을 크게 보기, 휠을 뒤로 굴려서 화면을 작게 보기

3. 게임 뷰

씬 뷰 : 프로그래머를 위한 전용 뷰

게임 뷰 : 게이머들이 보는 사용자용 뷰

게임 뷰 바로 밑의 설정

Free Aspect를 클릭해서 변경 가능 (ex : Free Aspect => Standalone)

Play : Ctrl + P

4. 리지드바디 개요

리지드바디 2D : 2D 게임용 물리적 법칙 적용

Add Component 로 [Rigidbody 2D] 를 추가한다.

이후 게임을 실행해보면 몬스터가 아래로 떨어진다.

5. 스텝 버튼 사용법

플레이 버튼(Play) 우측의 일시정지 버튼(Pause)을 누른다.

일시정지 우측의 스텝(Step) 버튼을 누르면 시간을 잘게 쪼개서 볼 수 있다.

Step 버튼을 누르다가 다시 Scene 뷰를 가면 게임 진행 도중의 캐릭터 위치 등을 볼 수 있고

게임을 수정할 수도 있다.

6. 이번 시간 요약

Scene View : 한 Scene에서 사용되는 Object들을 실제로 배치하는 View

Game View : 실제 게임 Play 화면을 보여주는 View

———-

유니티 1-5강 : 게임 뷰와 메인 카메라

1. 레이아웃

우측 상단의 Layout : 여러 가지 뷰들을 다양한 형태로 보는 방법.

기본은 Default 임. 2 by 3, 4 Split, Wide 등 레이아웃을 바꿔 볼 수 있음.

탭의 크기를 변경하거나, 아예 새 창으로 떼어낼 수도 있음.

익숙해지면 자기 만의 레이아웃을 만들어도 됨.

2. Main Camera

게임 뷰가 비춰지는 공간 => Main Camera 가 비추는 공간임

씬 뷰에서 하얀색 사각형으로 표시되는 부분 (게임 뷰에서는 하얀색 사각형 보이지 않음)

카메라의 위치에 따라 나타나는 화면이 달라짐

2-1. 배경색 설정

Background 를 하얀색으로 설정해보자

2-2. Projection

Perspective : 보통 3D 게임에서 사용함. Z값에 따라 크기가 달라짐

Orthographic : 2D 게임에서 사용한다고 생각하면 됨.

3. 게임 뷰

3-1. 게임 뷰의 디스플레이 설정

게임 뷰 하단의 Display 1 ~ Display 8

원하는 카메라를 선택하는 것으로 이해하면 됨

2D 게임은 카메라 1개만 존재해도 충분.

3-2. 게임 뷰의 Aspect

다양한 플랫폼(PC, 모바일 등)에서 어떻게 보이는지 확인 가능

[+] 버튼을 클릭해서 임의의 해상도 설정 가능

ex) FHD 1920 x 1080 설정 가능

3-3. Scale

게임 뷰 내의 작은 요소를 자세히 볼 때 사용하면 됨

3-4. Maximize On Play

게임 플레이 시 큰 화면으로 보이게 하기

3-5. Mute Audio

게임 플레이 시 모든 소리 끄기 (소리가 안 들릴 경우 이 부분 클릭했는지 확인할 것)

3-6. Stats

게임에 관련된 상태 표시 (FPS, 해상도 등)

3-7. Gizmos

기즈모를 화면에 표시 가능

기즈모란 게임 개발에 도움이 되는 그래픽 요소임