티스토리 뷰

반응형

Gamelog 10. 중력을 이용해본다

드디어 10번째 게임로그를 쓰고 있다. 썸네일에 다른 이야기를 하고 싶긴 하지만, 항상 뭔가 자제하게 된다. 아는 사람들이 내 블로그를 보고 있을 것 같다.
이번에 해본 중력은 움직임이 뭔가 어렵다고 하는 게임들에서 본 것 같은 움직임이었다. 예상한 것과 다르게 움직이는 그런 것. 활용하면 다양한 게임을 만들 수 있을 것 같다.

 

Gamelog 10. 중력 이용하기

이번에 이용할 것은 중력. 중력은 초반에 나올 때 빼고 항상 0으로 세팅했는데, 이번엔 1로 세팅하여 진행해봤다.

 

Gamelog 10_1. 햄버거가 떨어진다.

Unity gravity

햄버거 프리팹을 만들어 Rigidbody 2D에서 `gravity` 값을 0이 아닌 1로 설정해본다. (default)
이때 Box Collider 2D도 함께 설정하여 충돌할 수 있도록 한다.

앞의 Gamelog 09에서 했던 것과 동일하게 main camera에 클릭하는 곳에 프리팹이 나타나도록 설정하면,
햄버거가 떨어지는 것을 구현할 수 있다.

 

Gamelog 10_2. 타일을 이렇게 늘릴 수 있었다.

타일 같은걸 만들 때, 난 여러개 게임 오브젝트를 드래그하고 일일이 설정했는데,
그게 아니었다.

 

Unity tile

벽돌을 설치하여 늘리면, 우측과 같은 모양으로 늘어지게 된다.

Unity tile

프로젝트 뷰에서 이미지를 클릭하면, `Mesh Type`을 변경할 수 있다.
이를 `Full Rect`로 변경한다. (Rect는 직사각형을 의미한다.)

씬 뷰로 벽돌을 옮긴 뒤, 인스펙터에서 `Sprite Renderer`>`Draw Mode`를 `Tiled`로 변경한다.

 

Unity tile

그러면 이렇게 벽돌이 늘어나지 않고 쭉 모양이 이어지게 된다.
* 추후 맵을 도트로 찍을 때, 주의해서 잘 해야 할 것 같다.

이렇게 늘리고 `Box Collider 2D`를 적용하면, 적용범위가 기존과 동일하게 작은 네모만 설정되어 있다.

이를 설정하는 방법은 2가지가 있다.

 

Unity tile

이렇게 `Edit Collider` 옆에 있는 버튼을 클릭하여 늘려서 맞추는 방법.

Unity tile

그리고 이건 이번에 책에서 알게 된 방법인 `Auto Tiling`을 체크하여 맞추는 방법.

Unity tile

`Auto Tiling`을 체크하면 자동으로 맞춰줘서 편리했다.

Unity gravity

그러면 이렇게 바닥의 벽돌에 부딪혀서 쌓이는 햄버거를 만들 수 있다.

 

Gamelog 10_3. 무게, 마찰, 탄력

유니티 게임 오브젝트에서, 크기와 무게는 관계없다.
크기와 관계 없이 default 무게는 1이다.

 

Unity Mass

무게는 Rigidbody 2D에 있는 `Mass` 값을 설정하여 조정할 수 있다. (default: 1)

Unity Physics Material 2D

마찰과 탄력은 `Physics Material 2D`를 생성하여 설정할 수 있다.
이건 Component가 아닌 Assets에 속해있고, 그렇기 때문에 생성하면 `Project` 뷰에서 확인할 수 있다.

Unity Physics Material 2D

마찰력을 기본값으로 설정하고, `Bounciness`는 1로 설정하여 튕기도록 한다.

Unity Physics Material 2D

이렇게 생성한 `Physics Material 2D`를 프리팹에 설정한다.
프리팹에서 `Material`을 통해 생성한 설정을 등록할 수 있다.

Unity Bounciness

아까와 다르게 벽돌에 부딪히고 서로 부딪혀 통통 튀기는 햄버거 완성!

 

반응형
댓글