2-2-1 유니티 기본조작법
어제의 강좌 2-1유니티의 기본 구성에 대하여 알아 보았습니다. 오늘은 유니티 기본조작법 프로젝트 만들기입니다.
1) 프로젝트 만들기
유니티 프로그램을 실행하고, 상단에 있는 메뉴에서 File > New Project를 클릭합니다.
그러면 아래의 그림과 같이 생성할 프로젝트에 대한 경로와 사용할 컴포넌트 자산(Asset) 패키지를 선택할 수 있는 프로젝트 생성 창이 열립니다.
※ 유니티의 프로젝트는 그 자체가 개별적인 앱 또는 게임이라고 볼 수 있는 영역이기 때문에, 하나의 프로젝트에 'A'라는 제품의 씬과 Asset을 넣은 상태에서 'B'라는 제품의 씬과 Asset을 같이 넣는 우를 범하는 실수가 없도록 해야 합니다.
많은 유니티 초보자들이 프로젝트와 씬, 그리고 씬을 구성하는 컴포넌트 Asset의 정의를 이해하는 것을 소홀히 하여, 첫 제품을 완성하였을 때 결과물은 'A'라는 제품 하나이지만, 그 안에 들어간 씬과 Asset(즉 개발 리소스)을 'B'의 것도 넣고 'C'의 것도 넣은 채로 빌드를 해버려서 필요가 없는 용량이 2배~3배가 되어버리는 경우가 많이 있습니다.
프로젝트는 하나의 제품, 하나의 예제를 제작한 뒤, 다른 것을 제작해야 한다면, 새로운 프로젝트를 개설해서 해주는 것을 잊지 마시길 바랍니다.
Import the following packages는 일단 선택하지 않고, 프로젝트 파일이 생성되길 원하는 위치에 'Chapter 1'이라는 이름으로 프로젝트를 생성합니다. 프로젝트를 생성했다면, 유니티는 새로 설정한 프로젝트를 읽기 위해 다시 한번 로딩의 시간을 가지고, 방금 만든 프로젝트가 열립니다.
2) 유니티 인터페이스
아래의 그림과 같이 유니티의 인터페이스를 한 눈에 보기 쉽게 변경시켜봅시다.
인터페이스 내부 구성에 대해 보다 상세히 알아보겠습니다.
(1) 메뉴
File: 새로운 프로젝트나, 씬을 만들거나 저장하고, 프로젝트를 제품으로 빌드할 수 있는 메뉴를 가지고 있습니다.
Edit: 되돌리기, 재실행, 잘라내기, 복사, 붙여 넣기, 오브젝트 선택, 창의 속성 및 색상 변경, 렌더링 세팅과 그래픽, 네트워크 에뮬레이션 등의 개발에 있어서 제공되는 환경을 자유롭게 설정할 수 있는 메뉴를 가지고 있습니다.
Asset: 창과 연관이 큰 메뉴로써 기본 컴포넌트부터, 커스텀 컴포넌트 패키지까지 다양하게 Import또는 Export 할 수 있는 메뉴를 가지고 있으며, Asset들을 정리할 수 있는 폴더를 만들거나, 새로운 Asset의 기본 속성을 설정해서 자유로운 Asset 제작이 가능하게 해주는 Create 메뉴를 가지고 있습니다.
Game Object: 비어있는 오브젝트부터, 기본으로 제공하는 다양한 타입과 속성의 오브젝트를 만들 수 있는 메뉴를 가지고 있으며, 오브젝트 간의 Parent 설정을 조정하거나, 오브젝트 기준으로 화면 시점을 조정하는 등의 기능을 가진 메뉴도 가지고 있습니다.
Component: 메쉬, 이펙트, 충돌체, 물리, 사운드, 등. 오브젝트가 가질 수 있는 다양한 속성을 쉽게 세팅이 가능하도록 범용적, 기본적인 컴포넌트들을 제공해주는 메뉴입니다.
Terrain: 지형을 시각적인 도구로 쉽게 제작할 수 있도록 해주는 메뉴입니다.
Window: 유니티 내부에서 사용할 수 있는 창들을 열 수 있는 메뉴입니다.
Help: 유니티의 라이선스 관리 및 유니티 매뉴얼, 레퍼런스, 포럼 페이지와 연결하여 초보자가 유니티를 다루는 데 있어 다양한 도움을 받을 수 있게 해주는 메뉴입니다.
(2)실행 아이콘
(단축키 Q)이 버튼을 클릭하면, 마우스로 화면을 잡고 상하좌우로 이동시켜 볼 수 있습니다.
(단축키 W)이 버튼을 클릭하면, 현재 선택된 오브젝트의 좌표를 마우스로 이동시킬 수 있습니다.
(단축키 E)이 버튼을 클릭하면, 현재 선택된 오브젝트를 마우스로 회전시킬 수 있습니다.
(단축키 R)이 버튼을 클릭하면, 현재 선택된 오브젝트의 크기를 마우스로 변화시킬 수 있습니다.
※ 그 이외의 유용한 단축키
- F: 현재 선택하고 있는 오브젝트가 화면 중심에 오게끔, 화면의 위치를 이동시킵니다.
- Ctrl + Shift + N: 빈 오브젝트를 생성합니다.
- Ctrl + D: 현재 선택한 오브젝트를 복제하여 생성합니다.
- Ctrl + 9: 에셋 스토어 창을 엽니다
- Ctrl + S: 현재 작업 중인 씬을 저장합니다.
(3)동작 버튼
이 버튼을 클릭하면, 현재 제작 중인 씬이 어떻게 동작하는지를 Game 창에서 미리 볼 수 있습니다.
Game 창에서 미리 보기 하고 있는 상태에서 이 버튼을 클릭하면, 미리 보기를 잠시 일시 정지시킬 수 있습니다.
Game 창에서 미리 보기 하고 있는 상태에서 이 버튼을 클릭하면, 현재 상황을 일시 정지 시키고, 한 프레임 다음 장면을 볼 수 있습니다.
(4) Scene
Scene 창은 현재의 씬을 구성하는 창입니다.
씬에 필요한 오브젝트들을 설치하고, 컨트롤 할 수 있으며, 3D 그래픽 툴에서 제공하는 것과 같이 다양하게 오브젝트를 보는 방식을 제어할 수 있습니다.
창의 옵션 컨트롤은 이후에 해보겠지만, 큐브와 같은 기본 오브젝트를 하나 만들어 놓고, 이것 저것 만져보면서 설정이 변할 때마다 어떻게 오브젝트와 화면이 변화하는지 먼저 살펴보는 것도 도움이 됩니다.
씬에서의 작업은 3D 그래픽 툴과 같이 3D Axis를 기반으로 하여 진행됩니다.
주로 대부분의 3D툴들은 3D Axis를 기반으로 하며, 대부분의 툴들이 Left Hand 나 Right Hand 좌표계를 사용합니다. 유니티에서는 아래의 그림과 같이 Left Hand 좌표계를 사용합니다.
엄지 방향의 X축은 좌우 방향(+Right)의 축이고,
검지 방향의 Y축은 상하 방향(+Up)의 축이며,
중지 방향의 Z축은 앞뒤 방향(+Forward)의 축입니다.
이러한 좌표계의 사용은 화면에 보이는 공간 자체의 축을 기준으로 하는 World(Global)가 있고, 객체(오브젝트)하나 마다 제각기 가지고 있는 Self(Local)가 있습니다.
World(Global) Axis는 그 범위가 공간 자체이기 때문에 오직 1개의 정해진 축만이 존재하지만, Self(Local) Axis는 오브젝트마다 각각 가지고 있는 방향이 다 다르기 때문에, 무수히 많은 개수가 존재할 수 있습니다.
이러한 범위의 구분이 필요한 이유를 예를 들어 설명해드리겠습니다.
2단 점프가 가능한 캐릭터가 있는데, 이 캐릭터는 한 번 점프를 하면 앞으로 덤블링 하듯이 공중회전을 합니다.
점프의 방향은 항상 공간상 위를 향해야 하기 때문에 World(Global) Axis에서 점프시 Y축 방향으로 값 증가가 이루어져야 하고, 실제로 1단 점프와 2단 점프 모두 World(Global) Axis를 기준으로 Y축 방향으로 값 증가가 이루어지게 작업을 하면 아무 이상 없이 2단 점프가 잘 되는 것을 볼 수 있습니다.
하지만, 그렇게 하지 않고 Self(Local) Axis에서 Y축 값을 변경하게 한다면, 1단 점프 후 캐릭터가 공중회전을 하면서 캐릭터의 머리가 아래로 향하게 되었을 때, 2단 점프를 시도하면 캐릭터의 머리방향, 즉, 아래 방향으로 값 증가가 이루어져서 2단 점프가 되기는커녕 땅으로 떨어지는 낙하속도가 증가하게 될 것입니다.
(Self(Local) Axis에서는 Y축 방향에서 위(+)를 뜻하는 방향이 머리 위 방향이기 때문입니다.)
(5) Game
Game 창은 현재 Scene창에 만들어서 배치한 오브젝트들이 카메라를 통해서 어떻게 보이는지 미리 볼 수 있는 창입니다.
버튼의 기능과 연결되어 있으며, 이를 통해 앱을 빌드해서 확인하기 전에 어떻게 작동하는지 미리 테스트를 해볼 수 있습니다.
(6) Console
Console 창은 현재 로드 된 프로젝트나 씬의 대한 상태와 문제에 대한 중요사항을 메시지로 알려주는 창입니다.
창의 오른쪽을 보면 색상 별로 느낌표 3개를 볼 수 있는데, 하얀색은 알림 사항, 노란색은 주의 사항, 빨간색은 경고 사항 입니다.
하얀색이나 노란색 느낌표 메시지들은 씬이 구동되는데 별 지장을 안주는 요소들이지만, 빨간색 느낌표 메시지는 반드시 해결해야만 하는 부분이라고 생각하시면 됩니다.
(7) Hierchy
Hierarchy 창은 현재 씬 내부에 설치되어 있는 모든 오브젝트를 보여주는 창입니다.
그리고, 이 곳에서 Create 버튼을 눌러 유니티에서 제공하는 기본 오브젝트들을 선택하여 생성할 수 있습니다.
(8)Project
Project 창은 현재의 프로젝트에서 사용되고 있는(즉, 프로젝트 내에 존재하는 모든 씬에서 사용되고 있는) Asset을 보여주는 창입니다.
많은 유니티 초보자들이 프로젝트 창의 관리에 실패하는 경우가 많은데, 이는 프로젝트 창의 정확한 용도에 대한 인식이 부족해서 이기도 합니다.
프로젝트 창은 실질적으로 게임이 빌드 되었을 때, 리소스가 적용되는 경로까지 모두 컨트롤하는 창이기 때문에 리소스의 경로를 폴더를 이용하여 카테고리 별로 잘 정리해두지 않으면, 이미지, 애니메이션, 스크립트, 캐릭터 모델 등이 뒤죽박죽 섞여있어 관리가 불가능한 상태가 되어버립니다.
혼자서 개발을 하더라도 개발 리소스의 효과적인 관리는 매우 중요하므로, 프로젝트 창을 깔끔하게 관리하는 습관을 기르는 것이 좋습니다
(9) Inspector
Inspector 창은 현재 선택 중인 Asset이나 오브젝트 등에 대한 정보를 보여주는 창입니다.
예를 들어 큐브 오브젝트를 선택했다면, 그 큐브의 좌표 값, 회전 값, 크기 값을 비롯하여 렌더링 형태, 렌더링 되는 텍스처의 재질, 타 오브젝트와 충돌이 일어날 수 있는 범위, 물리적인 속성 등, 큐브의 구성에 필요할 수 있는 모든 정보를 Inspector창을 통해서 컴포넌트 형태로 세팅하고, 수정할 수 있습니다.
오늘은 유니티 인터페이스까지 알아보았습니다. 다음은 3장 씬 만들기에 대하여 알아보겠습니다.
Smart Academy
스마트 아카데미의 공식블로그 입니다.
문의 전화 : 02-567-3885 mail : support@smartacademy.or.kr
우아한 형제들 김봉진 대표 - 앱 개발 전문 학원 스마트 아카데미
크리에이티브 UX교육 훈련과정 안내
미래창조과학부 창조경제 실현
APP 개발 온라인 강좌 제2강 - 유니티의 기본 구성 및 조작법 [2-1]
창의인재과정 안내
스카이 아카데미 취업 정보 - 선데이토즈 이야기
구글의 네스트 인수 의미
K팝 홀로그램 상설공연장 개소