2025/07 4

Inventory System (3) 인벤토리 그리드 및 인벤토리 컴포넌트 구성

작업을 상당히 많이 진행하였는데 내용이 많아서 중요한 부분위주로만 정리하려고 한다. 인벤토리 창은 위와 같이 간단히 구성하고 추가로 Equippable, Consumable, Craftable로 종류를 구분하려고 한다. // Inv_InventoryGrid.h#pragma once#include "CoreMinimal.h"#include "Blueprint/UserWidget.h"#include "Types/Inv_GridTypes.h"#include "Inv_InventoryGrid.generated.h"class UCanvasPanel;class UInv_GridSlot;class UInv_InventoryComponent;/** * */UCLASS()class INVENTORY_API UInv_I..

Inventory System (2) 아이템 트레이스 및 인벤토리 창 생성

플레이어에 트레이스를 추가하여 아이템일 시 Pickup 창이 생성되고 키를 눌러 인벤토리를 여는 기능을 구현해볼 것이다. 위와 같이 아이템을 추적하는 콜리전을 따로 만들어준다. 아이템에 포커싱 할 때 아이템이 강조되도록 위와 같이 머티리얼을 만들었다. // Inv_InventoryComponent.h#pragma once#include "CoreMinimal.h"#include "Components/ActorComponent.h"#include "Inv_InventoryComponent.generated.h"class UInv_InventoryBase;UCLASS(ClassGroup = (Custom), meta = (BlueprintSpawnableComponent), Blueprintable)cl..

Inventory System (1) 플러그인 생성

바이오 하자드 시리즈식의 인벤토리를 구현해보려고 한다. 고민하다가 작업량이 꽤 많을거같아서 OpenWorldRpg와 분리해서 따로 작성하기로 하였다. 플러그인을 활용해서 만들고 후에 이를 다른 게임에 이식할 수 있도록 하기 위해서 위와 같이 새로운 플러그인을 만들었다. 플러그인을 처음 다루어봐서 각종 컴파일 오류로 여러번 파일을 다시 생성하는 등 상당히 우여곡절이 많았다. // Inv_PlayerController.h#pragma once#include "CoreMinimal.h"#include "GameFramework/PlayerController.h"#include "Inv_PlayerController.generated.h"class UInputMappingContext;class UInput..

카테고리 없음 2025.07.05

OpenWorldRpg (28) 활 무기 시스템 구현 3

활 방향에 따른 캐릭터의 애니메이션 수정, 크로스헤어 HUD 추가, 화살의 방향 계산, 물체 및 적과 오버랩시 이벤트, 화살 궤적 이펙트 및 각종 사운드 추가등을 구현해볼 것이다. 위와 같이 캐릭터의 위를 향하는 자세, 중간, 아래 3가지를 캐릭터의 본을 조정하여 생성하고 저장한다. 애니메이션에서 에임 오프셋을 생성하여 위에서 만든 3가지의 애니메이션을 블렌드한다. 캐릭터의 방향(위아래)에 따라 변화하는 애니메이션이므로 캐릭터의 Pitch를 계산해야한다. ABP에서 위와 같이 Pitch를 계산하고 변수로 저장한다. Pitch 변수를 가져와 위에서 만든 AO_Bow 애니메이션에 변수로 넣어준다. 상체만 변화하므로 UpperBody에 넣는다. 다음으로 크로스헤어 HUD를 위와 같이 간단히 만든다. 활을 당..