본문 바로가기
언리얼 최고/언리얼 구현

언리얼엔진(UE5) -- RPG 인벤토리 제작 1-(슬롯 채우기)

by Lee_story_.. 2022. 11. 18.
728x90


현재 진행중인 프로젝트에서 제작한 인벤토리입니다.

 

슬롯 생성부터, 드래그이동, 장비창, 장착까지 천천히 소개 하도록 하겠습니다!

 

 

기본적인 원리는 슬롯마다의 번호를 붙여주어 사용자의 아이템 배열의 값들을 인덱스에 맞게 붙여주는 방식입니다.

그러기위해선

 

1. 슬롯에 각각의 고유번호가 필요!

2. 아이템 이동은 어떻게?  >> 데이터 테이블

 

두가지의 문제만 해결하면 끝!

 

1번같은 경우는 상관없는데 2번의 데이터 테이블은 

 

언리얼엔진(UE5) 데이터 테이블을 사용한 게임 아이템 관리 [블루프린터]

현재 진행중인 프로젝트가 바빠 오랜만에 글쓰게 되었습니다.... 지금부터라도 천천히 이번 프로젝트로 배워본 것들을 정리해서 올리도록 하겠습니다! 가장 먼저 게임! 하면 필수적인 요소인 아

ljhyunstory.tistory.com

위 글을 읽고 오시는게 좋을것 같습니다!

 

 

 

그럼 시작해보겠습니다!

 

가장 먼저 슬롯을 만들어 줍시다.

(저는 장비,소비,기타 슬롯을 따로 만들어 주었습니다.. 혹시몰라서) 

 

 

 

 

이제 여기에 변수 2개를 선언해줍시다.

그리고 인덱스변수는 인스턴스 편집가능/스폰시 노출을 체크해줍시다.

슬롯은 제가 만든 구조체로 아이템의 id와 수량을 가지고 있습니다!

 

 

여기서 슬롯은 잠시 끝!

 

 

 

이번엔 플레이어 컨트롤러를 열어줍시다.

플레이어가 가지고 있는 아이템 배열을 만들어 줘야? 인벤토리에 넘길수있겠죠

 

마찬가지로 slot배열을 만들어줍시다.

 

 

그리고 저는 모든 칸을 일단 빈칸으로 채워넣어주었습니다. 

 

 

그리고 테스트용으로 스트링 배열을 만들어 새로 하나 만들어 주었습니다.

 

그리고 테스트 실행부분

슬롯에 넣어주는것이 아니라 플레이어 컨트롤러의 배열에만 영향을 주면 자동으로 슬롯이 바뀌는구조라서

위 처럼 빈칸을 찾아서, 아이템을 넣어주는 방식으로 구현 가능했습니다!

 

 

 

 

이제 아이템을 나타내줄 인벤토리 ui를 구성해줍시다.

저는 패널 >> 스크롤박스 >> 가로박스 >> 슬롯들 순으로 배치하여

 

 

구성해 보았습니다. 이 부분은 취향에 맞게 구성해주시면 됩니다!

 

그리고 가장 중요한 부분으로

슬롯 하나당 인덱스를 지정해 주셔야 합니다!

 

칸수가 많다면  아래와 같은 방법으로 슬롯을 찾아 변경해주는 방법도 있었으나..

저는 칸수가 적어 하나하나 입력해 주었습니다.

 

 

여기까지 하고 실행해보면

 

1키를 눌렀을때

 

인벤토리가 차는것을 확인 할수있습니다.

 

장비창 뿐만아니라 소비창, 기타창도 똑같은 방법으로 만들어 낼 수있습니다!

 

 

다음글은 아이템 드래그 이동에 대해서 적어보겠습니다!

 

 

 

틀린점이 있다면 댓 달아주세요!

댓글