기본적인 아이템의 틀은 저번 시간에 만들었으니, 이번엔 바닥에 떨어져있는 아이템을 습득하는 기능을 추가해보자.
우리가 저번에 만든 플레이어에는 Rigidbody2D가 설정되어있다.
일단, 아이템과 플레이어는 서로 충돌한다는 개념이 필요하다.
유니티에서는 충돌이라는 개념이 총 두개 있다.
하나는 벽과 같은 충돌, 하나는 겹쳐지는 충돌이다.
둘 다 모두 Collider2D가 관여한다.
충돌을 하기 위해선 충돌하는 두 객체에 모두 콜라이더가 있어야 하고, 둘 중 하나에 Rigidbody2D가 붙어있어야 한다.
우리는 플레이어에 Rigidbody2D를 붙여뒀기 때문에 아이템에는 따로 붙여줄 필요가 없을것 같다.
그럼 이제 플레이어와 아이템 두 객체에 각각 BoxCollider2D를 붙여주자.
이렇게 일단 플레이어에 Box Collider2D를 붙여줬고, 이어서 아이템에도 붙여주자.
아이템에 콜라이더를 붙여줄 땐, 주의해야할 점이 있는데
현재 아이템은 우리가 프리펩으로 만들어뒀기 때문에 프리펩 편집에서 콜라이더를 붙여줘야한다.
이전에 만들어 뒀던 프리펩을 더블클릭하면 새 창이 열릴것이다.
이렇게 씬 윈도우의 바탕색이 파란색으로 변했다면, 잘 열린것이다.
이제 아이템을 클릭해서 인스팩터창에 아까와 동일하게 콜라이더를 붙여주자.
이렇게 붙이고, Is Trigger를 체크해줬다.
여기서 하나 알고가야할점은, 콜라이더 기능은 트리거 기능도 함께 제공한다는 점이다.
쉽게 생각하면 콜라이더는 벽과 같이 충돌을 담당하고, 트리거는 충돌과 별개로 어떠한 물체가 여기에 올라왔을때, 스위치같은 발판을 누른다고 생각하면 된다. 아이템 위에 올라가서 줍기 버튼을 눌렀을 때 아이템이 주워질 수 있도록 만들기 위해 Is Trigger를 켜두어야 한다.
그리고 코드를 작성하기 전에 작업을 하나 더 해두고 프리펩을 저장하자.
위 사진의 인스팩터창 상단에 보면 객체의 이름과 Tag가 있는데 Tag가 현재는 Untagged로 되어있다.
이걸 눌러서 Add Tag를 누른 뒤 다음 창에서 Item이라는 테그를 추가해주자.
이런식으로 추가 한 후, 다시 프리팹 객체를 눌러서 Item프리펩의 테그를 Item으로 바꿔두자.
이렇게 해두면 일단 끝이난다. 이후
하이라키창의 표시해 둔, < 버튼을 눌러 프리팹 편집을 빠져나오자.
빠져나온 후, 우리가 프리팹으로 변환해뒀던 Item 객체를 눌러보면 아까 편집한 그대로 저장되어있을것이다.
이렇게 보인다면 성공한것이다. (콜라이더와 테그만 집중해서보자.)
이제 다음엔 플레이어의 스크립트를 수정해 아이템 습득기능을 추가해보자.
'Develop > 마음대로 만드는 게임' 카테고리의 다른 글
[NProject] 마음대로 만드는 게임 - 11. 인벤토리 기능 추가 (0) | 2024.05.20 |
---|---|
[NProject] 마음대로 만드는 게임 - 10. 아이템을 만들어 보자! 4 (0) | 2024.05.20 |
[NProject] 마음대로 만드는 게임 - 8. 아이템을 만들어 보자! 2 (0) | 2024.05.16 |
[NProject] 마음대로 만드는 게임 - 7. 아이템을 만들어 보자! 1 (1) | 2024.05.15 |
[NProject] 마음대로 만드는 게임 - 6. 인벤토리 구현(디자인 만들기 추가) (0) | 2024.05.15 |