UE5/RPG Character 타입
[UE5] RPG 캐릭터 종류 설계, 레벨별 속성값 설정
Mini_96
2024. 6. 19. 00:48




* 캐릭정보 DA 만들기

설계에 맞춰 구현
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Engine/DataAsset.h"
#include "CharacterClassInfo.generated.h"
class UGameplayEffect;
UENUM(BlueprintType)
enum class ECharacterClass : uint8 //캐릭구분용
{
Elementalist, //0
Warrior, //1
Ranger //2
};
USTRUCT(BlueprintType)
struct FCharacterClassDefaultInfo
{
GENERATED_BODY()
UPROPERTY(EditDefaultsOnly, Category="Class Defaults")
TSubclassOf<UGameplayEffect> PrimaryAttributes; //그 캐릭터만의 고유속성
};
/**
*
*/
UCLASS()
class AURA_API UCharacterClassInfo : public UDataAsset
{
GENERATED_BODY()
public:
UPROPERTY(EditDefaultsOnly, Category="Character Class Defaults") //<캐릭터, 정보> 맵
TMap<ECharacterClass, FCharacterClassDefaultInfo> CharacterClassInformation;
//공통속성
UPROPERTY(EditDefaultsOnly, Category="Common Class Defaults")
TSubclassOf<UGameplayEffect> SecondaryAttributes;
UPROPERTY(EditDefaultsOnly, Category="Common Class Defaults")
TSubclassOf<UGameplayEffect> VitalAttributes;
FCharacterClassDefaultInfo GetClassDefaultInfo(ECharacterClass CharacterClass); //@Getter
};
FCharacterClassDefaultInfo UCharacterClassInfo::GetClassDefaultInfo(ECharacterClass CharacterClass)
{
return CharacterClassInformation.FindChecked(CharacterClass); //map.find(key)
}


* GE 만들기




* 커브테이블 만들기 =>









* 전사, 레인저도 또 노가다? ㅇㅇ, csv - json 으로 만들어볼거임






- JSON 으로 내보내고 실습





* 생각 : Second속성은 무한효과로 만들었음 => 런타임중 계속 변화
but, 적은 고정속성을 사용할것임.




feat : 캐릭터 종류 설계, 레벨별 속성값 설정 · DongHoonYu96/GameplayAbilitySystem_Aura@558542c
Bisu96 committed Jun 18, 2024
github.com