분류 전체보기

    [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..

    [알고리즘] 구름 해외주식투자 c++ // 소수점 절사방법, 비교방법, 로그값구하는법

    https://level.goorm.io/exam/150257/00%EC%A6%9D%EA%B6%8C-%EC%A3%BC%EC%8B%9D%ED%88%AC%EC%9E%90%EC%9E%90-a/quiz/1 구름LEVEL난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.level.goorm.io 1. 소수점 절사방법ex)5.41에서 1을 절사(버리기)하려면10을곱한후 floor 하면된다5.41 -> 54.1 -> 54 2. 소수점 비교방법직접비교 : | a- b| 10^n 을 곱해서 정수로 바꾼후 비교하는걸 추천함!값이 중요한게 아니라 대소만 보면되므로 정수로 바꿔서 == 비교가 정확한듯? 2.5 .로그값구하는법log2 함수를 쓰면된다.log 2 (10) 만 = 16 이다.// function..

    [UE5] GAS 에서 예측 개념

    [UE5] GAS 에서 예측 개념

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

    [UE5] 클라에서 서버로 data 보내고 받기 구현, 클라에서 캐릭안보임버그 해결

    [UE5] 클라에서 서버로 data 보내고 받기 구현, 클라에서 캐릭안보임버그 해결

    * data 보내기 구현1. 데이터를 보낼함수 만듬//FVector -> Datahandle 타입변경 => 다른 정보도 담을수있음DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FMouseTargetDataSignature, const FGameplayAbilityTargetDataHandle&, DataHandle);/** * */UCLASS()class AURA_API UTargetDataUnderMouse : public UAbilityTaskvoid SendMouseCursorData(); 2. 기존활성화함수를 클라, 서버에 따라 분기함void UTargetDataUnderMouse::Activate(){ const bool bIsLocallyControlle..

    [UE5] GAS::Target Data System // 클라에서 서버로 data 전달방법

    [UE5] GAS::Target Data System // 클라에서 서버로 data 전달방법

    * 문제클라->서버로 data전달방법은 rpc가 유일함활성화가 서버로 전달되는시간 arpc(data)가 서버로 전달되는 시간 b라고하면a>b 인경우 -> 서버에 data가 없음 -> bada 서버에 data 가있음 -> +그런데, 항상 a * 해결 : GAS::Target Data System1. 활성화가 먼저된경우일단 서버에 액티브 됬다고 가정, data 도착여부는 모름그냥 대상 델리게이트에 바인딩함이 작업을 이전에 수행했다면, data는 서버에 도달한거임 (?) 2. 데이터가 서버에 먼저 도착한경우