Unity Chapter 1. 유니티 준비하기
카테고리: Unity Lesson 1
태그: Unity Game Engine
인프런에 있는 이제민님의 레트로의 유니티 C# 게임 프로그래밍 에센스 강의를 듣고 정리한 필기입니다. 😀
🌜 [레트로의 유니티 C# 게임 프로그래밍 에센스] 강의 들으러 가기!
Chapter 1. 유니티 준비하기
새 프로젝트 생성
템플릿은 나중에도 바꿀 수 있다. 2D로 나중에 변경도 가능하니 일단 3D로 해놓고 시작해보자!
유니티 인터페이스 살펴보기
레이아웃
- 이 수업에선 레이아웃을 위와 같은 모양으로 쓸 것이다!
- 오른쪽 상단에 맨 오른쪽에 있는 것을
Default
에서 2 by 3로 바꿔주었다. Project
창은Hierarchy
아래로 옮겼다.- 메뉴 - Window - General -
Console
창을Inspect
창 아래에 붙여주었다.
- 오른쪽 상단에 맨 오른쪽에 있는 것을
새로운 오브젝트 추가하기
Hierarchy
창에서 create > 3D object > cube 하여 큐브 오브젝트를 추가해준다.
인터페이스 각 창들 설명
- 🚗 Scene 창
- 유니티는 하나의 게임 월드를
scene
이라는 단위로 관리한다.scene
은 하나의 게임 월드, 하나의 맵, 하나의 게임 레벨에 대응함.
- 현재 활성화 된 scene에 존재하는 Object들을 시각적으로 활성화하여 볼 수 있는 창이다.
- 영화 촬영장이라고 생각하면 된다.
- 유니티는 하나의 게임 월드를
- 🚗 Hierarchy 창
- 현재 Scene에 존재하는 모든 Object들을 리스트로 보여준다. 현재 영화 촬영장에 배치되어 있는 영화 소품들.
- 기본 오브젝트
Main Camera
- 현재 플레이어가 보게 될 화면.
- 오브젝트이므로 씬 창에서 위치를 바꿔 플레이어가 보게 될 시점을 변경할 수 있다.
- position, rotation, scale을 변경하여 세밀하게 플레이어의 시점을 변경할 수 있음.
- 진짜 그냥 촬영하는 카메라라고 생각하면 됨.
Directional Light
- Scene에 빛을 만들어준다.
- 👁 왼쪽에 눈알 모양으로 누르면 해당 Object를 Scene에서 안 보이게끔 할 수 있다.
- 🚗 Inspector 창
- 현재 선택한 게임 오브젝트 혹은 asset에 대한 정보를 표시해준다.
- 해당 게임 오브젝트에 붙어있는 컴포넌트들이 표시됨
Object
: 게임 세상 속에 존재하는 사물Component
: 오브젝트에 붙어서 해당 오브젝트가 어떤 동작을 할 수 있게끔 하는 부품. 기능이라고 생각하면 된다.
- 해당 게임 오브젝트에 붙어있는 컴포넌트들이 표시됨
- 현재 선택한 게임 오브젝트 혹은 asset에 대한 정보를 표시해준다.
- 🚗 Game 창
- 플레이어가 보게 될 화면. 프리뷰.
- 즉
Main Camera
오브젝트가 비추고 있는 화면 - 비율과 해상도를 설정할 수 있다.
- 다만 플레이어가 볼 해상도에는 영향을 주지 않는다.
- 직접 사용자 지정 비율을 사용할 수 있다.
- scale 값은 화면 배율인데 게임 화면을 넓게 보기 위해 최소로 놓는 것이 좋다.
- Scene이 영화 촬영장이라면 Game은 실제 영화 장면이다. 카메라를 통한 화면. 실제 게임 화면이 된다.
- 🚗 Project 창
- 현재 프로젝트에서 사용한 모든 패키지와 에셋을 표시한다. 게임에서 사용될, 사용될 수도 있는 모든 소품들을 보관하는 곳.
Assets
: 프로젝트에 사용된 모든 파일과 폴더. ex) c#스크립트, 이미지, 애니메이션 등등- 우리가 현재 보고 있는 Hierarchy 창의 Scene도 Assets에 로드 되어 있다.
Packages
: 외부 모듈. 우리가 직접 편집할 수는 없음.
- 우리가 사용할 파일을 여기에 드래그 앤 드롭해서 Import 할수 있다.
- 메뉴 - Assets - Import New Asset… 하는 방법도 있음
- 하단에 아이콘 크기 조절 사이드바가 있다.
- 슬라이드 바를 완전히 왼쪽으로 밀면 리스트 형태로 변경된다.
- 현재 프로젝트에서 사용한 모든 패키지와 에셋을 표시한다. 게임에서 사용될, 사용될 수도 있는 모든 소품들을 보관하는 곳.
- 🚗 Console 창
- 개발자들에게 유용할 정보를 텍스트로 표시해주는 창
- 에러, 정보, 권고사항 등등 개발자에게 정보를 준다.
- 콘솔 출력 메세지 또한 이곳에 뜬다.
플레이 버튼
- 단축키
Ctrl + P
- 중앙 상단에 위치한다.
- ▶️ : 플레이
- 현재 scene이 활성화 되며 오브젝트들이 붙어있는 컴포넌트들에 따라 동작한다.
- 플레이 동작 중에 변경한 사항들은 반영되지 않음을 주의하기
- 플레이를 풀면 플레이 중에 변경한 사항들은 다 사라지게 된다.
- 중요한 변경 사항은 플레이 모드를 해제한 후 변경하자.
- 위에서 추가한 큐브 오브젝트를 플레이하면 중력에 의해 떨어지게 동작시켜 보자
- Hierarchy 창에서 큐브 오브젝트를 선택한 상태에서 Inspector창
- Add Component - Phisics - RigidBody 컴포넌트 선택
- RigidBody : 오브젝트의 물리 기능을 추가 할 수 있다. 이 컴포넌트를 추가하기만 해도 이제 중력의 영향을 받게 됨.
- 플레이 해보면 중력에 의해 큐브 오브젝트가 아래로 떨어지는 것을 확인할 수 있다.
- ⏸ : 퍼즈
- 플레이 중에 누르면 오브젝트가 동작하는 것을 잠시 멈출 수 있다.
- ⏯ : 스텝
- 한번 누를때마다 한 프레임씩 게임이 진행된다.
기즈모
기즈모
란 scene 편집을 쉽게 하기 위해서 scene창에 표시되는 그래픽 도구들
오브젝트 주변과 테두리에 보이는 회색 격자나 주황색 실선. 그리고 x, y, 축을 나타내는 평행이동선 등등 이런 것들이 바로 기즈모자.
- 오직 개발자의 편의를 위해 scene창에서만 보인다.
- 빨간 체크 부분에서 우리 눈에 보이는 기즈모에 관련한 설정을 변경할 수 있다.
씬 기즈모
란 씬 창의 오른쪽 상단에 위치하는데 씬 카메라의 방향과 시점을 즉시 파악하고 변경할 수 있도록 도와준다.
- 씬 기즈모의 x,y,z축을 뜻하는 각 원뿔들을 클릭하면 씬 카메라가 즉시 그 방향을 바라보게끔 변경할 수 있다.
- 씬 기즈모의 가운데 큐브 모양을 클릭할 때마다 원근감 있는 시점(3D), 원근감 없는 시점(2D)</u>으로 변경할 수 있다.
트랜스폼 툴바
- 핸드 툴 (단축키
Q
) : 씬 탐색 - 평행 이동 툴 (단축키
W
) : 오브젝트 변형 - 회전 툴 (단축키
E
) : 오브젝트 변형 - 스케일 툴 (단축키
R
) : 오브젝트 변형 - 렉트 툴 (단축키
T
) : 오브젝트 변형 - 트랜스폼 툴 (단축키
Y
) : 오브젝트 변형
씬 탐색
Scene창을 돌아다니고 게임 오브젝트들을 편집할 때 사용. Hierarchy 창에서 오브젝트를 더블 클릭하면 Scene을 비추는 가상의 Scene Camera
가 해당 오브젝트가 중심에 오게끔 비추게 된다. 이 상태에서 Scene창의 Scene Camera 조작해보자.
Main Camera
- 플레이어가 보게 될 화면
- 오브젝트이므로 Hierarchy창과 Inspector창에서 관리할 수 있다.
Scene Camera
- Scene 창
- 개발하면서 게임 월드를 편하게 보며 오브젝트들을 편집할 때 사용할 개발자용 시점
- 실제 게임 플레이 할때의 화면(Main Camera)과는 상관이 없다.
- 트랜스폼 툴바, 마우스 우클, Alt 등등 이런 것들로 조작 가능하다.
- 🖐 핸드 툴 : Scene Camera 를 평행하게 움직일 수 있다.
- 단축키
Q
- 마우스 휠 버튼을 꾹 눌러 잠시 동안 실행할 수 있다.
- 휠 버튼을 떼는 순간 원래 사용하던 툴로 돌아감
- 단축키
- 마우스 스크롤
- 줌인 줌아웃
- 마우스 우클릭
- scene창을 마우스 우클릭으로 꾹 눌러준 상태에서 WASD, 마우스 회전을 하면 FPS게임처럼 scene 화면을 돌아다닐 수 있게 된다.
- Alt키 누른 채 마우스 좌클 or 마우스 우클
- scene창의 중심을 기준으로 공전하면서 움직일 수 있게 된다.
- 현재 오브젝트가 scene창의 중심이 오브젝트에 있다면 오브젝트를 중심으로 공전하며 볼 수 있다.
오브젝트 변형
- 평행 이동 툴
- 선택한 오브젝트를 원하는 방향으로 이동시킨다.
- 기즈모로 나타나는 오브젝트 내부에 보이는 축을 누르고 이동시킬 수 있다.
- 💖 x축, 💚 y축, 💙 z 축
- 축 말고 축 가운데에 있는 면을 누르면 해당 면과 평행하게 이동할 수 있다.
- 단축키
W
- 단축키
- 기즈모로 나타나는 오브젝트 내부에 보이는 축을 누르고 이동시킬 수 있다.
- 회전 툴
- 선택하면 회전 축 선이 나오는데 이를 조작하여 회전시킬 수 있다.
- 가운데 검은 선을 조작하면 축의 방향과 상관없이 자유롭게 회전시킬 수 있다.
- 단축키
E
- 스케일 툴
- 선택하면 나오는 큐브를 누르고 늘려 오브젝트의 크기를 조작할 수 있다.
- 가운데 큐브는 모든 축을 기준으로 동시에 크기 변경함
- 단축키
R
- 렉트 툴
- 직사각형으로서 편집한다.
- 즉 가로와 세로 방향의 크기만 변하고 z값은 변하지 않는다.
- 2D와 UI에서 많이 사용된다.
- 단축키
T
- 단축키
- 트랜스폼 툴
- 평행이동툴, 회전툴, 스케일툴을 합친 것
- 단축키
Y
씬 에셋 scene asset
유니티 scene
은 asset으로서 저장된다. 즉 파일로 저장이 됨. Ctrl + S
를 눌러 씬을 저장하되 /assets
폴더 안에 저장한다. 다른 씬을 열고싶다면 기존 Scene의 저장 후 Project창의 assets 폴더에서 해당 씬을 더블 클릭하기만 하면 된다. 새 scene을 열려면 Ctrl + n
피벗-센터 + 로컬-글로벌 전환
- 🚕 Pivot / Center
- Pivot
- 실제 오브젝트의 위치를 기준으로 오브젝트 위에 씬 도구들을 표시한다.
- 예를 들어 사람 오브젝트라면 사람의 발 밑에 씬 도구들이 표시된다.
- Center
- 실제 오브젝틔 위치와는 상관 없이 오브젝트 형태의 중앙점 위에 씬 도구들을 표시한다.
- 예를 들어 사람 오브젝트라면 사람의 배, 즉 중앙 부분에 씬 도구들이 표시된다.
- Pivot
- 🚕 Local / Center
- Local
- 게임 오브젝트의 좌표계를 기준으로 씬 도구들을 표시한다.
- 예를 들어
Local
로 두고 오브젝트를 회전한다면 자전할 것
- Global
- 글로벌 좌표계를 기준으로 씬 도구들을 표시한다.
- 예를 들어
Global
로 두고 오브젝트를 회전한다면 게임 월드의 중앙 좌표를 기준으로 공전할 것 - 게임 세상을 기준으로 배치할 때 도움이 된다.
- Local
- Tip : 평소에는
Pivot / Local
로 두되 필요할 때만 center, global로 바꾸는 것을 추천한다.
프로젝트 폴더 구조 + 프로젝트 다시 열기
- 유니티 프로젝트의 필수 폴더는
Assets
,Packages
,ProjectSettings
이렇게 3가지이다. 용량을 줄이기 위해 프로젝트를 어디 올리거나 전달할 때 이 3가지만 전하도록 하자. - 기존 유니티 프로젝트를 다시 열려면 유니티 허브를 열고 프로젝트 탭에서 최근에 열었던 프로젝트를 클릭해 열 수 있다. 혹은 Open 버튼을 눌러 원하는 프로젝트를 열자
유니티 코드 에디터 변경하는 방법
메뉴 - Edit - Preferences - External Tools 에서 사용할 에디터 선택하기. 드롭 다운을 클릭하여 선택하여도 되고 없다면 Browse.. 를 눌러 사용할 에디터가 설치된 폴더 경로를 선택해주면 된다.
Tip
Ctrl
키를 누른 상태에서 오브젝트를 옮기면1
단위로 평행이동 시킬 수 있다.Ctrl + D
: 복사 붙여넣기 한번에.shift
: shift 한 후 파일을 두개 선택하면 그 파일들을 포함하여 파일 사이에 있는 파일들까지도 전부 선택된다.
정리
이 챕터에서 새로 알게된 컴포넌트들 정리
- RigidBody
- 오브젝트에 물리 기능을 추가해준다.
- 오브젝트가 중력의 영향을 받게 됨
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글 남기기