UE5

    [UE5] 적 죽을때 용해효과 구현

    [UE5] 적 죽을때 용해효과 구현

    * 설계결론 : c++에서 죽을때, 머테리얼을 바꾸고, Dissiolve 값을 스무스하게 바꿔주면 된다. * 구현 UCLASS(Abstract) //추상클래스임 class AURA_API AAuraCharacterBase : public ACharacter, public IAbilitySystemInterface, public ICombatInterface{ ... /* 용해 Effect*/ void Dissolve(); //머테리얼을 교체하는 함수 UFUNCTION(BlueprintImplementableEvent) //타임라인설정하는 함수, BP에서 구현 void StartDissolveTimeLine(UMaterialInstanceDynamic* DynamicMat..

    [UE5] 적 죽음 구현

    [UE5] 적 죽음 구현

    * 어디에구현?적, 캐릭터가 모두사용 -> 전투인터에 만들고 캐릭베이스에서 구현강제 할거임class AURA_API ICombatInterface{ ... virtual void Die()=0; void AAuraCharacterBase::Die(){ //무기분리, 분리는자동으로 수행 -> 서버에서분리하면 클라에서도 자동분리 Weapon->DetachFromComponent(FDetachmentTransformRules(EDetachmentRule::KeepWorld,true)); MulticastHandleDeath();}void AAuraCharacterBase::MulticastHandleDeath_Implementation(){ //무기, 매시에 피직스 달기 => 땅..

    [UE5] 타격시 에니메이션 구현

    [UE5] 타격시 에니메이션 구현

    * 태그를 부여해주는 GE 만들기- 태그추가 해주시고struct FAuraGameplayTags{public: .. FGameplayTag Effects_HitReact;GameplayTags.Effects_HitReact = UGameplayTagsManager::Get().AddNativeGameplayTag( FName("Effects.HitReact"), FString("Effects.HitReact") ); Hit가 된대상의 태그가 HitReact로 바뀔거임 * 적클래스에서 태그의 변화를 구독하기- 콜백 함수추가void AAuraEnemy::HitReactTagChanged(const FGameplayTag CallbackTag, int32 NewCount){}- 태그..

    [UE5] json으로 레벨별 데미지 구현

    [UE5] json으로 레벨별 데미지 구현

    * 태그에 맞는 수정자값 설정- 태그추가struct FAuraGameplayTags{public: ... FGameplayTag Damage;void FAuraGameplayTags::InitializeNativeGameplayTags(){ ... GameplayTags.Damage = UGameplayTagsManager::Get().AddNativeGameplayTag( FName("Damage"), FString("Damage") );- 태그에맞는, 수정자설정void UAuraProjectileSpell::SpawnProjectile(const FVector& ProjectileTargetLocation){ ... //GE_Dama..

    [UE5] 데미지계산용 Meta 속성추가 // 데미지 계산하는 방법

    [UE5] 데미지계산용 Meta 속성추가 // 데미지 계산하는 방법

    * 데미지 계산하는 방법GE에서 직접계산하는게 아님meta속성, AS에 의해 아래 사항을 고려해서 최종데미지를 결정하고체력을 변화시키는 방식 * 현재 데미지 문제점 *  AS에 Meta속성추가, 구현서버에 복제할필요없이Local에서만 사용할거임UPROPERTY(BlueprintReadOnly, Category = "Meta Attributes") //복제안함FGameplayAttributeData IncomingDamage;ATTRIBUTE_ACCESSORS(UAuraAttributeSet, IncomingDamage);void UAuraAttributeSet::PostGameplayEffectExecute(const FGameplayEffectModCallbackData& Data){ ... ..

    [UE5] RPG 캐릭터 종류 설계, 레벨별 속성값 설정

    [UE5] RPG 캐릭터 종류 설계, 레벨별 속성값 설정

    * 캐릭정보 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 FCharacterClassDefaultIn..