본문 바로가기

프로젝트/UE_Project5

인벤토리 시스템 추가 구현 숨가쁜 23년 12월달을 보내고 계속해서 작업을 할 수 없는 상황이었다가 드디어 다시 작업을 시작할 수 있게 되었다. 이번에는 인벤토리에 대해서 추가적인 구현 요청이 들어왔다. 첫번째는 인벤토리에 있는 아이템들을 정렬하는 기능이고 두번째는 인벤토리의 비어있는 공간에 기존에 있는 아이템을 배치할 수 있도록 하는 것이었다. 첫번째 기능은 쉽게 구현할 수 있을거라고 생각했는데 문제는 두번째였다. 처음에 내가 만든 인벤토리의 형태는 다음과 같다. // APInventoryComponent.h protected: UPROPERTY(VisibleAnywhere, Category = "Inventory") TArray InventoryContents; void AddNewItem(UAPItemBase* Item, c.. 2024. 1. 10.
튜토리얼 튜토리얼에 대해서 구현하게 되었는데 이를 어떻게 구현해야할지 조금 막막했다. 하지만, 고민해보니 결국 아무것도 없는 필드에 허수아비들을 세워놓고 특정 키 입력이 들어올때까지 계속해서 신호를 보내주면 되지 않을까 생각했다. 그래서 우선 이를 수행할 필드를 만들었고 나중에 필드 이름이 Tutorial이라면 해당 기능이 작동하도록 바꾸면 될 것같다. 이를 캐릭터클래스에서 관리해야겠다고 생각했다. 그 이유는 캐릭터클래스에 각종 키입력에 대한 함수들이 존재하기 때문에 여기서 입력에 대한 처리를 해주는게 가장 편할 것이라고 생각했기 때문이다. void CharacterMove( { // is character move ? // player Moving // Data Flow, Tutorial -> Move Key .. 2023. 12. 17.
인벤토리 시스템 인벤토리 시스템 구현작업을 맡게되었다. 하지만, 인벤토리 시스템을 구현하기 위해서 선행되어야하는 작업이 있어야할것같은데 그 작업들을 건너뛰고 인벤토리만 구현하자니 좀 말이 안된다고 생각하기도 했고 건너뛰고 진행하려니 좀 벅찼다. 🤔 그래서 선행 작업들도 함께 작업하기로 결정했다. 필요하다고 생각했던 필수 선행 작업은 우선 아이템데이터에 대한 정의이다. 데이터구조체가 필요했기 때문에 우선 그에 대한 스트럭쳐부터 만들었다. UE에서는 구조체를 만들때 USTRUCT() 를 써줘야한다. 위에 사진에 보이듯이 Enum도 마찬가지이다. 아이템의 종류, 등급, 스탯적인 부분 등등 필요하다고 생각하는 부분은 전부 임의로 설정해 넣었다. 이렇게 데이터구조체를 만들고나면 실제로 사용할 수 있도록 UE에서 데이터테이블을 만.. 2023. 11. 14.
연출시스템 구현 총 4가지 연출 시스템 구현작업을 맡게되었다. 블러처리, 페이드인아웃, 집중선, 광원조절 대부분 시스템이 구현 가능했지만 아무때나 가져다 쓸 수 있도록 함수나 cpp로 구현하지는 않았다. 추후에 시간이 나면 이쪽으로 다시 옮길 예정이다. 첫번째, 블러처리의 경우 UE5 튜토리얼을 참고해 만들 수 있었다. 캐릭터가 움직일때 해당 블러가 처리되어야하기 때문에 cpp 에서는 캐릭터의 움직임을 체크해서 블러 이미지를 OnOff 해주면 될 것으로 예상중이다. 원래는 모션블러만 요구되었지만 중간에 추가로 배경 전체 블러작업을 진행하게 되었다. 하지만 이역시 UE가 제공하는 컴포넌트로 쉽게 해결가능했다. 하지만 말 그대로 배경만 블러가 되고 다른 UI들은 블러가 안되고 있다. 생각해보면 메인메뉴같은 메인 UI는 블러.. 2023. 11. 14.
프로젝트 개요 포트폴리오용 언리얼 협업 프로젝트 RPG, 로그라이크 기반 액션게임 2023년 11월 6일 2023. 11. 14.