2-1. 프로젝트 만들기
1) 2D 프로젝트 "UniSideGame" 생성
툴 바 : 게임 오브젝트 다루기 도구(이동, 회전, 크기 변경 등)//이건 transform을 다루는 건가?
씬 뷰 | 게임 뷰 : 상단의 탭에서 뷰(씬 ↔ 게임) 전환 가능
계층 뷰 : 씬 뷰에 포함된 것을 목록으로 표시
인스펙터 뷰 : 씬 뷰에서 선택된 오브젝트의 정보 표시
프로젝트 뷰 : 에셋(자원) 표시
* frame : 1초에 그리는 횟수, unity는 1초에 50번을 표준으로 함
2-2. 게임 화면 만들기
2) Assets 폴더 구성하기
Images : 게임 내에서 사용되는 이미지 에셋
Player : 플레이어 캐릭터 데이터 에셋, 이미지나 스크립트 등
Scenes : 씬 데이터 에셋, SampleScene이 기본으로 있음
3) 씬 뷰에 오브젝트 배치하기
back, ground, player_stop의 3가지 오브젝트를 배치함
이때 씬 뷰에 배치된 오브젝트 3가지가 계층 뷰 목록에 나타남
+ 하얀색 박스가 게임 화면의 테두리
4) Component 살펴보기
[Transform]
Position(위치) : 오브젝트의 위치 X, Y, Z 좌표
Rotation(회전) : 각 축 방향을 중심으로 한 회전
→ Z축 값을 변경하면 X, Y의 회전 각도가 변경
Scale(크기) : X, Y, Z의 표시 배율을 나타냄
[Sprite Renderer]
Sprite(이미지) : 이미지 에셋
Color(색상) : 기본 색상은 흰색
Flip(뒤집기) : 상하좌우 반전
Sorting Layer(레이어 정렬) :
오브젝트 그룹(Layer) 지정
Order in Layer(레이어 순서) :
레이어가 씬에 표시되는 순서(값이 클수록 앞에 표시)
+ 여기서는 back(0), ground(2), Player(3)으로 설정
5) 이미지 조작하기
ground를 선택한 후 Sprite 삭제 : 계층 뷰에는 남아있지만 씬 뷰에는 표시되지 않음
→ 씬 뷰에는 존재하지만 표시되지 않을 수 있기 때문에 포함된 오브젝트를 보려면 계층 뷰를 살펴보는 것이 좋음
→ 오브젝트 선택 시에도 계층 뷰에서 하는 것이 좋음
+ 인스펙터 뷰 Lock : 다른 오브젝트를 선택해도 잠금해둔 오브젝트를 표시함
6) 무효화&표시하지 않기&선택 차단
무효화 : 인스펙터 뷰에 체크 박스를 해제하면 게임 오브젝트가 비활성화 됨(ground)
표시하지 않기 : 계층 뷰의 눈 아이콘을 클릭하면 씬 뷰에서 오브젝트가 사라짐(Player)
→ 이는 편집 중에 일시적으로 숨기기 위함
선택 차단 : 계층 뷰의 손 아이콘을 클릭하면 해당 오브젝트를 선택할 수 없음
7) Scene 저장하기
씬 저장 → Build Settings → Scenes In Build에 추가
+ back, ground, Player가 포함된 Stage1 생성
2-3. 플레이어 캐릭터 만들기
8) 이미지에 피벗 설정하기
Pivot : 이미지의 기준, 기본 설정은 center
→ transform을 조작할 때 피벗이 원점(기준)이 됨
+ 위에서는 플레이어 오브젝트의 발을 기준으로 이동을 해야하기 때문에 bottom으로 설정
9) 플레이어 오브젝트에 컴포넌트 attach
[Rigidbody 2D] : 중력
Body Type : Dynamic, Kinematic, Static
→ 물리 영향O, 외부의 힘 영향X, 물리 영향X
Material : 다른 물체와 충돌 시 상호작용
→ 튕겨 나오는 상태, 미끄러지는 상태 등
Simulated : 물리 시뮬레이션
Use Auto Mass : collider의 크기에 따라 물체의 질량 계산
Mass : 물체의 질량 설정
→ Use Auto Mass 활성화 시 설정 불가
Linear Drag : 어느정도 시간 후에 멈출지 설정
Angular Drag : 어느정도 시간 후에 회전할지 설정
Gravity Scale : 중력 설정(1G == 지구 표면과 같은 중력)
Collision Detection : 충돌을 판정하는 방법 설정
→ Discrete(빠른 속도로 움직일 경우 장애물과 겹쳐지거나 통과 가능), Continuous(장애물에 충돌 시 접촉)
Sleeping Mode : 일정시간 움직임이 없는 물체는 충돌 판정 등을 실행하지 않는 휴식 상태가 됨
→ Never Sleep : 항상 물리 계산 실행
→ Start Awake : 초기 상태, 휴식 상태가 아닌 값으로 실행
→ Start Sleep : 초기 값은 물리 계산 X, 충돌 등에 의해 물리 계산 시작
Interpolate : 물리 계산이 갱신될 때 동작 보간을 선택
→ None(보간X), Interpolate(직전 프레임에 따라), Extrapolate(다음 프레임에 따라)
Constraints : 동작의 제한 설정
→ Freeze Position(X, Y의 움직임 제한 == 상하좌우 움직임 금지), Freeze Rotation(Z의 움직임 제한 == 회전 금지)
10) 충돌 판정 컴포넌트 attach
[Box Collider 2D] : Box 모양의 충돌 판정(ground)
[Capsule Collider 2D] : Capsule 모양의 충돌 판정(Player)
+ Edit Collider로 충돌 범위 조정 가능
+ Edge Collider 2D, Polygon Collider 2D 등의 다양한 충돌 판정 컴포넌트 존재
*교재 : 누구나 할 수 있는 유니티 2D 게임 제작
'Unity' 카테고리의 다른 글
[Unity] Chap05. 버튼과 UI 만들기 (0) | 2024.03.07 |
---|---|
[Unity] Chap04. 사이드뷰 게임의 기본 시스템 만들기 (1) | 2024.03.07 |
[Unity] 1차 Study : 점프, 닉네임 달기 완성! (1) | 2024.02.27 |
[Unity] Chap03. 스크립트 작성하기 (2) | 2024.02.26 |
[Unity] Chap01. 게임 개발과 유니티를 알아보자 (2) | 2024.02.26 |