루트슈터
-
블루아카이브 루트슈터 팬게임 프로젝트(17) - 체력 컴포넌트 교체루트슈터 프로젝트 2024. 1. 17. 18:17
안녕하세요. 이틀동안 포스팅이 없었는데, 야간알바를 하느라 조금 쉬어서 개발이 진행되지 않았었습니다. 아무튼 이번에는 체력 컴포넌트를 교체하였습니다. 사실 교체 라는 단어보다는 삭제라는 단어가 더 어울립니다만.. 이제는 적과 플레이어에게 체력컴포넌트를 부여하지 않고 각 클래스에서 따로 체력을 관리하는 함수를 구현해두기로 했습니다. 그 이유는 1. 플레이어와 적은 서로 다른 체력 및 데미지 매커니즘을 가지도록 게임을 설계 하면서 컴포넌트 하나가 두 종류의 객체의 체력을 관리하는게 힘들어짐 2. 체력의 변동을 UI와 연동해야되는데 이를 체력 컴포넌트 하나가 조정하려면 컴포넌트가 너무 많은 헤더파일을 가져야함 큰 이유는 이 2개가 되겠네요. 지금와서는 차라리 체력 컴포넌트는 파괴 가능한 오브젝트에만 적용하고 ..
-
블루아카이브 루트슈터 팬게임 프로젝트(16) - 플레이어 캐릭터 모델링 교체 & 리타겟팅루트슈터 프로젝트 2024. 1. 14. 21:12
안녕하세요. 오늘은 더이상 미룰 수는 없을 것 같아서 캐릭터 모델링을 블루아카이브의 캐릭터로 교체하기로 했습니다. 누구를 할까 조금 고민했지만 역시 간판 히로인(?)인 시로코가 제일 적당할 것 같아서 Booth에서 모델링을 구매했습니다. https://mirin-setokuma.booth.pm/items/2840468 【3Dモデル】シロコ【VRC】 - みりん屋 - BOOTH VRChat向けに基本設定を行ったシロコの3Dモデルです。 ■同梱内容 ・シロコ:モデル ・銃:モデル ・バッグ:モデル ・各種テクスチャPSDファイル(Photoshopにて作成) ・上記内容を設定したUn mirin-setokuma.booth.pm 가격은 5000엔, 엔저라 다행이네요 제가 이번에 한 일의 순서는 다음과 같습니다 1. 구매한 모델링에서 ..
-
블루아카이브 루트슈터 팬게임 프로젝트(15) - 적 스폰 시스템 & 웨이브 게임모드(1)루트슈터 프로젝트 2024. 1. 14. 01:05
안녕하세요 이번에는 적 스폰 시스템을 구현해보았습니다. 중간에 치명적인 에러가 있어서 (블루프린트에서 메시가 사라지는 오류) 그걸 복구하느라 너무 많은 시간을 소모했네요. 얼추 완성했지만 AI가 적용되지 않는 오류가 있어서 계속 작업을 해야할 것 같습니다. 일단 적 스폰 작업을 하기에 앞서, 적의 레벨별 상세한 스탯을 데이터 테이블로 만들어 주었습니다. 적의 레벨별 체력, 데미지, 경험치 등등의 기본 정보들이 담겨있습니다. EnemySpawner.h UCLASS() class PROJECTBLUELANDS_API AEnemySpawner : public AActor { GENERATED_BODY() public: // Sets default values for this actor's properties ..
-
블루아카이브 루트슈터 팬게임 프로젝트(14) - 플레이어 레벨, 경험치 시스템루트슈터 프로젝트 2024. 1. 12. 15:00
안녕하세요 이번 포스팅은 플레이어의 레벨과 경험치 관리 시스템 및 UI에 대한 포스팅입니다. 루트슈터 장르는 RPG이기 때문에 FPS,TPS 슈터게임이지만 레벨이 존재합니다. 플레이어는 적을 계속 처치하면서 경험치를 얻고 레벨업을 할 수 있어야 합니다. 제 게임에서는 플레이어의 레벨에 따라 플레이어의 기본 체력이 상승하고, 다음 레벨까지 요구하는 경험치양이 계속 변동합니다. 그렇기 때문에 먼저 이를 데이터 테이블로 작성해줍니다. 이런식으로 만들어 줍니다. 다음 레벨로 갈때 필요한 경험치와 그 레벨에서 제공되는 체력(방어구로 얻어지는 스탯 제외), 누적 경험치를 데이터 테이블로 만들어 줬습니다. 누적 경험치는 지금 사용하고 있지는 않지만 혹시 몰라서 만들어 뒀습니다. ABluelandsGameModeBas..
-
블루아카이브 루트슈터 팬게임 프로젝트(13) - 체력, 잔탄 UI루트슈터 프로젝트 2024. 1. 11. 22:32
안녕하세요. 이번 시간에는 체력바와 현재 장비한 총기의 잔탄수를 확인할 수 있는 UI를 만들어 보았습니다. 비교적 간단하다고 할 수 있지만 계속 삽질하느라 시간이 다 가버렸네요. 결론은 체력바와 같은 간단한 UI는 그냥 블루프린트에서 처리시키는게 더 편하다는 것입니다. PlayerStatus.h UCLASS() class PROJECTBLUELANDS_API UPlayerStatus : public UUCustomUI { GENERATED_BODY() public: void Init() override; class UPlayerHPBar* hpBar; class UEXPBar* expBar; class UMagazineState* magBar; }; 먼저 플레이어 상태 (체력바, 경험치바, 잔탄수 UI)..
-
블루아카이브 루트슈터 팬게임 프로젝트(12) - 방어구 스탯 적용루트슈터 프로젝트 2024. 1. 10. 23:58
안녕하세요. 어제는 방어구 아이템을 새로 생성하고 인벤토리로 주워서 툴팁 옵션을 볼 수 있게 했는데요. 이번에는 그 방어구를 장착시키고 스탯을 실제로 플레이어에게 적용 시킬 수 있게 하겠습니다. PlayerCharacter.h UPROPERTY(EditDefaultsOnly) FItemData armorSlot[3]; //캐릭터 장착중인 방어구들 float playerStat[7] = {0, }; // 방어구로부터 얻은 플레이어 스탯 void InitPlayerStat(); //방어구를 읽어들여서 위의 playerStat에 적용 플레이어 캐릭터의 헤더파일에 장착된 아이템에 대한 정보를 가진 배열과 방어구의 스탯을 전부 합산해서 담을 실수형 배열, 그리고 방어구들을 읽어들여서 실수형 배열에 담는 역할을 하..
-
블루아카이브 루트슈터 팬게임 프로젝트(11) - 방어구 추가루트슈터 프로젝트 2024. 1. 9. 22:44
안녕하세요. 이번에는 방어구를 추가해보았습니다. 아무래도 루트슈터 게임에 무기만 있다면 너무 심심하죠. 그래서 한가지 고정된 스탯 하나와 아이템 등급에 따라서 랜덤한 스탯을 제공하는 방어구를 3개 착용할 수 있게 하기로 했습니다. NormalArmor.h UCLASS() class PROJECTBLUELANDS_API ANormalArmor : public AItemBase { GENERATED_BODY() public: ANormalArmor(); protected: // Called when the game starts or when spawned virtual void BeginPlay() override; virtual void PostInitializeComponents(); public: UP..
-
블루아카이브 루트슈터 팬게임 프로젝트(10) - 데미지 표시 & 코드 정비루트슈터 프로젝트 2024. 1. 7. 23:20
안녕하세요. 어제는 이사를 앞두고 엄청 바쁜 하루였기 때문에 포스팅을 하지 못했습니다. 사실 아직 이사가 끝나지 않았지만 개발은 멈추지 않습니다. 이번에는 간단하게 데미지 표시 UI 기능을 구현해보았습니다. 한발당 데미지를 표시해주는 기능은 플레이어의 성장 정도를 한눈에 알 수 있게 해주는 매우 중요한 척도이기 때문에 필수로 있어야 하는 기능입니다. DamageIndicator.h UCLASS() class PROJECTBLUELANDS_API UDamageIndicator : public UUserWidget { GENERATED_BODY() public: UPROPERTY(BlueprintReadWrite, meta=(BindWidget)) TObjectPtr damageText; UPROPERTY(..