분류 전체보기
![[UE5] 실행 계산 개념, 아머속성 계산-변경 구현](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6aNQZ%2FbtsH8EnDnRS%2FKNY4ryM0w0CKkAV4kKp780%2Fimg.png)
[UE5] 실행 계산 개념, 아머속성 계산-변경 구현
속성을 캡쳐할수있는 기능임 * 실행계산 구현 - 아바타액터얻기, 스펙 얻어보기UExecCalc_Damage::UExecCalc_Damage(){}void UExecCalc_Damage::Execute_Implementation(const FGameplayEffectCustomExecutionParameters& ExecutionParams, FGameplayEffectCustomExecutionOutput& OutExecutionOutput) const{ const UAbilitySystemComponent* SourceASC= ExecutionParams.GetSourceAbilitySystemComponent(); const UAbilitySystemComponent* TargetA..
![[UE5] 맞은적 머리위에 데미지 뜨도록 구현](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSBg8R%2FbtsH9FySsTe%2FEiT7aNT3KKzXgn6fIkiz5K%2Fimg.png)
[UE5] 맞은적 머리위에 데미지 뜨도록 구현
* 애니메이션구현 * 위젯을 뷰포트에 추가만 하면됨 * Text값에 데미지를 연결하기 - 우리는 적이든 캐릭터든 둘다 받는 데미지가 뜨길원함 -> PC 에서 구현 UFUNCTION(Client, Reliable) //클라이언트RPC, 신뢰가능한 void ShowDamageNumber(float DamageAmount, ACharacter* TargetCharacter); UPROPERTY(EditDefaultsOnly) TSubclassOf DamageTextComponentClass;};//대상 캐릭터위에 데미지 띄워주는 함수//RPC함수 : 서버에서 호출가능void AAuraPlayerController::ShowDamageNumber_Implementation(float DamageAmount,..
![[UE5] 적 죽을때 용해효과 구현](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwrG4O%2FbtsH8Dvpdae%2FrD8ImIsNnQeffU6A8KDSHK%2Fimg.png)
[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] 적 죽음 구현](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyPbit%2FbtsH9HXIKxH%2FiEo1fBgxc7h0uduFJh5sWk%2Fimg.png)
[UE5] 적 죽음 구현
* 어디에구현?적, 캐릭터가 모두사용 -> 전투인터에 만들고 캐릭베이스에서 구현강제 할거임class AURA_API ICombatInterface{ ... virtual void Die()=0; void AAuraCharacterBase::Die(){ //무기분리, 분리는자동으로 수행 -> 서버에서분리하면 클라에서도 자동분리 Weapon->DetachFromComponent(FDetachmentTransformRules(EDetachmentRule::KeepWorld,true)); MulticastHandleDeath();}void AAuraCharacterBase::MulticastHandleDeath_Implementation(){ //무기, 매시에 피직스 달기 => 땅..
![[UE5] 타격시 에니메이션 구현](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjQtGY%2FbtsH8kiukTE%2F50p7XMKopXzJyuXaQq5IJk%2Fimg.png)
[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으로 레벨별 데미지 구현](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYIkry%2FbtsH9YxX8OY%2F2vVDC1kwgoxoiOPmAvaObk%2Fimg.png)
[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 속성추가 // 데미지 계산하는 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbj1bSG%2FbtsH8x2IeHg%2F5zuGQgzDlvFRkQKcUEn9w0%2Fimg.png)
[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){ ... ..