[내일배움캠프 TIL] 34. 아이템 퀵슬롯, 미니맵
2023. 11. 6. 23:57ㆍ내일배움캠프 Unity
[최종프로젝트 6]
오늘 작업은
1. 퀵슬롯 시스템 제작
2. 퀵슬롯에 등록할 아이템 리스트 제작
3. 퀵슬롯과 인벤토리 연동
4. 미니맵 시스템
1. 퀵슬롯 시스템 제작
- public 키코드를 선언해 퀵슬롯에 원하는 키를 세팅할수 있도록 함
- SetQuickSlotItem() : 인벤토리 아이템의 슬롯 넘버와 이미지를 반영
- UseQuickSlotItem() : 퀵슬롯 키 입력시 슬롯 넘버를 통해 인벤토리에 접근, 해당 슬롯의 아이템을 사용
- DisplaySettableItem() : 퀵슬롯에 등록할수 있는 아이템(소모품)을 모두 보여줌
2. 퀵슬롯에 등록할 아이템 리스트 제작
- 퀵슬롯을 누르면 인벤토리에 있는 모든 소모품을 보여줌
- 소모품 중 하나를 선택하면 해당 퀵슬롯에 선택한 소모품을 등록
3. 퀵슬롯과 인벤토리 연동
- 현재는 키코드로 진행했으나 PlayerInputSystem과 연계하여 퀵슬롯으로 지정된 키를 입력하면 해당 슬롯에 있는 아이템을 사용.
- 인벤토리의 여러 슬롯에 같은 아이템이 있을수 있기때문에 Player가 가진 Inventory에 접근해 아이템을 사용하는것이 아닌 InventoryUI의 슬롯에 접근해 아이템을 사용
4. 미니맵 시스템
- 메인카메라를 제외하고 미니맵에 사용할 새로운 카메라와 RawImage, Render Texture를 준비한다.
- 카메라의 Projection을 Orthographic으로 변경하면 원근이 사라져 카메라의 위치로부터 자유로워진다.
- 카메라의 Target Texture에 새로 만든 Render Texture를 넣어주면 Render Texture에 카메라가 실시간으로 찍고있는 화면이 반영된다.
- RawImage의 Texture에 만들어둔 Render Texture를 넣어주면 새로 만든 카메라의 실시간 영상을 띄울 수 있다.
- 미니맵에서 플레이어가 잘 보이지 않기 때문에 눈에 잘 띄는 오브젝트를 생성하고 Position Z를 메인카메라와 새로 만든 카메라의 사이에 위치시키면 메인카메라에 보이지 않지만 미니맵에만 보이게 할수 있다.
- 반대로 실제로 존재하지만 미니맵에 보이지 않게 하려면 새로 만든 카메라의 Culling Mask에서 보이지 않게 하려는 오브젝트의 Layer를 제외시켜주면 된다.
- 여기서 UI의 Image와 RawImage의 차이를 알아보았는데 Image는 Sprite이미지를 보여줄 때 쓰이며 RawImage는 텍스쳐를 보여줄때 쓴다.
[ 추가할 것 ]
- 미니맵기능 실제 맵을 반영해볼 것
- 퀵슬롯 키 입력시 아이템 사용 → Player Input System 적용
'내일배움캠프 Unity' 카테고리의 다른 글
[내일배움캠프 TIL] 36. 중간 점검, 코드 리팩토링 (0) | 2023.11.07 |
---|---|
[내일배움캠프 TIL] 35. UI 이미지를 만들어보자 (0) | 2023.11.07 |
[내일배움캠프 TIL] 33. 장비 장착 시스템 (2) | 2023.11.06 |
[내일배움캠프 TIL] 32. 팝업 UI 관리 시스템 (1) | 2023.10.31 |
[내일배움캠프 TIL] 31. 타격감을 주는 방법 (0) | 2023.10.31 |