Day 18 ~ Day - pathway 21 - Unity Essentials - 2D Essentials
Unity Essentials - Editor Essentials 읽어보면서 정리한 거
https://learn.unity.com/pathway/unity-essentials?version=6
Unity Essentials 의 다섯 번째 과정: 2D Essentials
드디어 2D 강의
Assets - _Unity Essentials - Scenes 에서 5_TopDown_2D_Scene 선택
2D 에서는 Camera Projection 이 Perspective 가 아닌 Orthographic 으로 설정되어 있음
👉 Perspective: 원근 투영 / 3D 게임 / 우리 눈이 세상을 보는 방식, 멀리 있는 물체는 작게 가까이 있는 물체는 크게 보이는 원근감
👉 Orthographic: 직교 투영 / 2D 게임 / 원근감이 없이 모든 물체가 같은 크기로 투영
Alt + Left-click 해서 Floor GameObject 를 돌려보면 완전 평면임을 알 수 있다.
view 를 3D 에서 2D 로 설정하게 되면, 2D 개발을 위한 Scene view 로 최적화
Sprites - Character 에서 하나 선택해서 Scene view 에 추가하고, Hierarchy 에서 Player 로 이름 변경
Z position 값은 0 인데, 다른 강의에 보면 이 값을 조정해서 겹치는 문제를 해결6. Configure a Rigidbody 2D component 에서
the Rigidbody 2D component 는 2D 물리학에 최적화 되어 있다. 2D 공간에서 중력이나 힘의 물리법칙을 따르게 한다....
Rigidbody 2D component 를 Player 에게 추가하고 실행시 Player 는 아래로 자유낙하하게 된다. Top-down 방식의 게임에는 안 맞기 때문에 Gravity Scale 을 0 으로 설정하는게 필요
PlayerController2D.cs 파일을 Player GameObject 에 더해준다
- 2D 환경에서 inputs 와 movements 를 처리하는 코드
- diagonally (대각선으로) 설정시에는 방향키를 조합해서 (up + right 키면 45도 방향) 이동 가능
8. Lock your aspect ratio 에서
Aspect ratio
- 화면 비율
- 이미지나 화면의 가로(너비)와 세로(높이)의 비율
Editor 의 window 사이즈에 따라서 변경이 되는 Free Aspect 대신에 게임을 위한 베스트 선택인 16:9 Aspect 로 변경한다
* Game View 에서 찾아야 함
9. Add a wall 에서
벽을 만들기 위해서 2D sprite shape 를 이용한다..
Hierarchy window 에서 2D Object > Sprite > Square 로 아래쪽에 벽을 만든다
이름은 Wall_Bottom
❗중요: Floor 와 Wall_Bottom 의 Z 값이 0 으로 동일해야 한다
10. Add 2D colliders 에서
colliders define the physical boundaries of objects, allowing them to interact with each other.
콜라이더는 오브젝트의 물리적인 경계를 정의하며, 이를 통해 오브젝트들이 서로 상호작용할 수 있도록 합니다.
3D Box Collier => 2D Box Collider
3D Sphere Collider => 2D Circle Collider
11. Make the remaining walls 에서..
Wall_Bottom 을 만들었으니, Ctrl + D (Duplicate) 로 Wall_Top, Wall_Left, Wall_Right 를 만들어 낸다. 그리고, 4 개를 선택한 후에 Create Empty Parent 를 이용해서 4 개를 묶어 준다.
>>>>> Complete your 2D Puzzle Gmae >>>>>
이번 장에서 만들 게임...
2. Fill out the room 에서..
Move tool (W key) 와 Rotate tool (E key) 을 이용해서 가구 배치
러그 배치는 다음에..
3. Add a rung on the correct layer 에서..
러그 배치시 가구가 가려지기 때문에
2D 공간에서 오브젝트들이 어떻게 쌓여질지 정확히 컨트롤하기 위해서 Sprite Render component 의 Order in Layer 속성을 사용해야 한다
player, furniture and other movable objects : 10
Rug : 5
Floor : 0
✅ 1, 2, 3, 4 .. 처럼 하는 것보다 여유 공간을 두어야 나중에 추가할 경우에 편함
4. Make the furniture pushable 에서..
가구와의 충돌 처리를 위해서 Player 에 추가한 것처럼
2D Collider 와 2D Rigidbody component 를 추가해준다
5. Increase the furniture's drag 에서..
Player (청소기) 와 가구들이 충돌하게 되면 비현실적인 움직임이 나오는데
Linear Damping (선형 감쇠) 과 Angular Damping (각도 감쇠) 은 물체의 움직임을 감쇠시키는, 즉 속도를 줄이는 역할을 한다. 현실 세계에서 공기 저항이나 마찰력과 유사한 효과
* Linear Damping : 직선 운동 속도를 줄이는 속성 (마찰력, 공기 저항과 유사)
* Angular Damping : 회전 속도를 줄이는 속성 (회전축의 마찰력과 유사)
6. Increase the furniture's mass 에서...
좀 더 현실적인 움직을 만들기 위해서 Mass 값을 조정해준다..
기본값은 1 이니 가구별로 큰 값을 지정해준다
7. Add a collectable to the scene 에서...
청소기가 모아야 하는 객체 (Dirt_2D) 에는 충돌처리를 하는 코드가 적용되어 있다
Collectible2D.cs
OnTriggerEnter2D() 가 호출되기 위해서 Is Trigger 가 체크(✅)되어 있다
onCollectEffect 변수를 통해서 VFX_2D_Explode 가 실행되도록 한다
9. Clean up the Hierarchy window 에서...
Hierarchy window 에서 GameObject 들이 너무 많이 있는 경우에 Create Empty Parent (Ctrl + Shift + G) 를 이용해서 정리를 하도록 하자
10. Add the UI prefab 에서..
A UI is any set of on-screen elements, like buttons and menus, that allow players to interact with the game and receive information.
UI 는 버튼이나 메뉴같이 스크린 위에 있는 요소들의 집합으로 게임 플레이어가 게임과 상호작용하거나 정보를 얻도록 한다.
>>>>> Add an animated pet >>>>>
Sprite Editor 를 사용하는 예를 보여준다
2. Open the sprite sheet in the Sprite Editor 에서...
A sprite sheet is a large image containing many smaller images (sprites)
Animation 에 유용
3. Slice your sprite sheet 에서...
Sprite Mode 가 Multiple 로 되어 있어야 slice 가 가능
Open Sprite Editor 를 열어서
Automatic 으로 설정하고 Slice 를 하게 되면 이미지 별로 회색 사각형이 그려져 있는 것을 볼 수 있다
4. Animate the sprite sheet 에서...
잘려진 이미지를 선택해서 Hierarchy window 에 드래그 앤 드롭하게 되면, animation 을 저장할 수 있게 되고, 저장 후에 추가된 것을 볼 수 있다
Order in Layer 값으로 가구와 같은 값을 설정한다
5. Make the pet interactable 에서...
고양이도 Circle Collider 2D / Rigidbody 2D component 를 추가해서 상호작용할 수 있도록 한다
Rigidbody 2D 에서는
Mass 증가
Linear Damping / Angular Damping 증가
Gravity Scale 은 0 으로
>>>>> More things to try >>>>>
간단한 Wall 색 바꾸기와 레벨 디자인에 대한 소개...
>>>>> Quiz >>>>>
시험 보고 통과하면 ... ㅋ
다음은 Publishing Essentials





댓글
댓글 쓰기