Unreal Engine: Ultimate Survival Horror Course
Inventory 폴더를 생성하고 인벤토리 슬롯으로 사용할 W_InventorySlot 위젯 블루프린트를 생성한다.
Size Box, Button, Overlay, Image를 추가한다.
크기와 패딩 등을 설정한다.
Tab키 등 키보드 입력으로 버튼이 포커스되는 것을 막기 위해 해제해준다.
Designer에서 Graph로 이동하여 Index 변수를 생성해준다.
- 블루프린트에서 값 수정을 허용하기 위해 Instance Editable을 체크해준다.
- 노드 생성 시 입력 변수로 표시하기 위해 Expose on Spawn을 체크해준다.
인벤토리 그리드로 사용할 W_InventoryGrid 위젯 블루프린트를 생성한다.
Uniform Grid Panel을 추가해주고 자식들 사이의 Padding을 10으로 설정한다.
Is Variable에 체크하면 블루프린트에서 변수로 사용할 수 있다.
HG_PlayerController에서 총 슬롯의 개수를 저장하는 InventorySlots 변수를 생성한다.
다시 W_InventoryGrid의 Graph로 돌아와 Event Pre Construct에서 For Loop를 사용해 Slot을 생성해준다.
Create Widget 노드를 활용해 위젯 블루프린트를 객체화할 수 있다.
W_InventorySlot 형식을 저장하는 SlotsArray 배열을 만들고 ADD 노드를 활용해 Slot들을 배열에 추가해준다.
InventoryGridPanel(Uniform Grid)의 자식으로 Slot 배열의 W_Inventory Slot들을 Add Child to Uniform Grid를 통해 넣어준다.
행당 Slot 개수를 나타내는 SlotsPerRow 변수를 생성한다.
Row는 행, Column은 열을 뜻한다.
- Division 노드는 나눗셈을 수행하여 몫과 나머지를 반환한다.
- Truncate 노드는 양수, 음수를 0으로 내림한다.
간단히 말해 실수의 소수부를 제거하여 정수로 만든다.
W_MainHUD에서 User Created - W_InventoryGrid를 추가해준다.
Size To Content를 체크하면 그리드 안 요소들의 크기에 따라 그리드의 크기가 자동으로 조절된다.
'Unreal Engine > Ultimate Survival Horror Course' 카테고리의 다른 글
인벤토리 아이템 제작 (0) | 2023.02.02 |
---|---|
인벤토리 메뉴 만들기 (0) | 2023.02.01 |
커스텀 폰트 사용하기 (0) | 2023.01.30 |
카메라 흔들림 구현 (0) | 2023.01.30 |
웅크리기 기능 만들기 (0) | 2023.01.29 |