UE5/Ability Tasks

    [UE5] 적 체력바 구현

    [UE5] 적 체력바 구현

    1. 적 > 위젯콤포넌트 달기class AURA_API AAuraEnemy : public AAuraCharacterBase, public IEnemyInterface{ GENERATED_BODY()... UPROPERTY(VisibleAnywhere,BlueprintReadOnly) TObjectPtr HealthBar;HealthBar = CreateDefaultSubobject("HealthBar");HealthBar->SetupAttachment(GetRootComponent());   *   * data 연결하기인클루드하고, 변수를 그대로 사용할거임- 위젯컨트롤러에 의존성이 생기면 안좋지않나? 상호의존성이 아니라 ㄱㅊ- 리팩토링 : 해당 델리게이트를 다른 클래스에서 관리하도록 리..

    [UE5] 데미지 입히기 구현 // fix : 시작시불쏘는버그, 불에서벗어나도 체력깍이는버그

    [UE5] 데미지 입히기 구현 // fix : 시작시불쏘는버그, 불에서벗어나도 체력깍이는버그

    * GE 만들기* SpecHandle 만들기포인터가아니므로, .h를 인클루드해야함class AURA_API AAuraProjectile : public AActor{ ... UPROPERTY(BlueprintReadWrite,meta = (ExposeOnSpawn=true)) //BP 노드에 노출 FGameplayEffectSpecHandle DamageEffectSpecHandle;스펠(GA 화염구)에서 사용할 GE 변수를 만듬class AURA_API UAuraProjectileSpell : public UAuraGameplayAbility{ ... UPROPERTY(EditDefaultsOnly,BlueprintReadOnly) TSubclassOf DamageEff..

    [UE5] 발사체와 충돌할 대상 정리

    [UE5] 발사체와 충돌할 대상 정리

    * 충돌설정 전략기본값으로 월드다이나믹 -> 모든물체와 충돌-> 발사체 채널추가후, 전부 Ignore한뒤에 겹치고 싶은것만 수동으로 설정하는 전략이 좋음. * cpp 에서도 충돌설정- Aura.h 에서 매크로 설정#define ECC_Projectile ECollisionChannel::ECC_GameTraceChannel1 //변수이름처럼 사용하기위한 매크로- 생성자에서 구의 콜리전타입설정(발사체)AAuraProjectile::AAuraProjectile(){ PrimaryActorTick.bCanEverTick = false; bReplicates=true; //발사체 서버에서 클라로 복사 //구체달고, 루트로만듬 Sphere = CreateDefaultSubobject("Sph..

    [UE5] 발사체 이펙트, 소리, 수명 구현

    [UE5] 발사체 이펙트, 소리, 수명 구현

    * 필요한 변수, 함수 추가class AURA_API AAuraProjectile : public AActor{ GENERATED_BODY() p... virtual void Destroyed() override; ... private: bool bHit=false; ... UPROPERTY(EditAnywhere) TObjectPtr ImpactEffect; //충격효과 =>체력깍기 UPROPERTY(EditAnywhere) TObjectPtr ImpactSound; //부딪히면 소리 UPROPERTY(EditAnywhere) TObjectPtr LoopingSound; UPROPERTY() TObjectPtr Loop..

    [UE5] 발사체 방향으로 캐릭회전 구현

    [UE5] 발사체 방향으로 캐릭회전 구현

    * 모션 워핑으로 구현하고자함  * GA_Fire에서 Target 설정하기- 다른방법 : GA에서 캐릭에 의존하는대신, CombatInter에서 구현하면 더 좋음. * 리팩토링 : 적에서도 사용가능하도록 인터페이스로 구현- Update Warp TargetBPType => BP에서 캐스트 가능// This class does not need to be modified.UINTERFACE(MinimalAPI, BlueprintType)- 캐릭에서 인터페이스 사용콜러블 => BP에서 호출가능UFUNCTION(BlueprintImplementableEvent,BlueprintCallable)void UpdateFacingTarget(const FVector& Target); (+) 적클래스에서도 공격시, 플레..

    [UE5] 발사체 적방향으로 발사구현, shift키 + 허공클릭시 발사구현// 캐릭 겹침시 카메라 확대 해결, 클라에서 발사체 방향 버그 수정

    [UE5] 발사체 적방향으로 발사구현, shift키 + 허공클릭시 발사구현// 캐릭 겹침시 카메라 확대 해결, 클라에서 발사체 방향 버그 수정

    * 발사체 적방향으로 구현- spell > 발사체소환함수에타겟의 위치 변수 추가class AURA_API UAuraProjectileSpell : public UAuraGameplayAbility{ GENERATED_BODY()protected: virtual void ActivateAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData* TriggerEventData) override; UFUNCTION(BlueprintCalla..

    [UE5] GAS 에서 예측 개념

    [UE5] GAS 에서 예측 개념

    * 해결 2 : 예측 * GAS에서 (자동)예측 대상코드가 if(Auority) else 범벅이 되는걸 원치않음,어느정도 자동화를 원함 -> 예측대상구분 : 발자국등은 예측안해도됨, 마나-피통은 예측되어야함 * 예측 키  * 예측 창이창이 열려있는동안, 클라에서 서버의 허가를 안받고 피통깍기 등 맘대로 할 수 있음 * 능력 활성화 과정 * GE 예측GE 정보는 유효한 키가 있을때만 클라에 적용됨GE 효과생성 -> 예측키를 서버에 저장함GE는 동일한 키를 가짐// 즉, 같은키는 같은효과클라에서 키를 받으면, 키를 확인해 이미 GE있는지 확인 -> 이미 키가 있으면 같은 GE 가 이미 있는거임있으면 다시 실행필요없음 -> GE 중복방지