UE5
[UE5] 태그에 맞는 능력 활성화 구현
* GA에서 시작태그가 뭔지확인용 변수추가UCLASS()class AURA_API UAuraGameplayAbility : public UGameplayAbility{ GENERATED_BODY()public: UPROPERTY(EditDefaultsOnly,Category="Input") FGameplayTag StartupInputTag;};* ASC에서 그 태그를 확인하고 동적태그에 추가 => 런타입에 변경가능능력활성화void UAuraAbilitySystemComponent::AddCharacterAbilities(const TArray>& StartupAbilities){ //모든 시작능력에대해 for(const TSubclassOf AbilityClass : Star..
[UE5] Input바인딩용 클래스 생성, 클릭이벤트 발생 테스트
* Input 바인딩용 클래스 생성기존 : PC에서 바인딩해줬음void AAuraPlayerController::SetupInputComponent(){ Super::SetupInputComponent(); // 부모 클래스의 SetupInputComponent() 함수 호출 // InputComponent를 UEnhancedInputComponent 형으로 변환하고 검사합니다. //Get 인핸스드 인풋 컴포넌트 UEnhancedInputComponent* EnhancedInputComponent = CastChecked(InputComponent); // MoveAction이 발생할 때 AAuraPlayerController 클래스의 Move() 함수를 바인딩합니다. ..
[UE5] 태그-입력 연결 구현, 런타임에 입력변경 구현준비
*구현1. Data Asset 만들기#pragma once#include "CoreMinimal.h"#include "Engine/DataAsset.h"#include "AuraInputConfig.generated.h"/** * */UCLASS()class AURA_API UAuraInputConfig : public UDataAsset{ GENERATED_BODY() }; 2. 설계구조체 : InputAction, Tag변수 : 구조체( InputAction, Tag )배열을 가짐함수 : 태그에 맞는 InputAction 찾는 함수// Fill out your copyright notice in the Description page of Project Settings.#pragma onc..
[UE5] GA 옵션들 살펴보기
* GA 옵션들 살펴보기 * 사용하지 말것복제정책 : 기본적으로 복제임, 건들지마셈클라종료시 서버종료 : 서버가 중요하므로 쓰지마셈입력복제 : 사용자가 나쁜입력을 계속보낼수 있음. 쓰지마셈
[UE5] GameplayAbility class 구현
* GameplayAbility 구현c++ 클래스만들고 구현캐릭베이스에 GA배열 넣어주기private: UPROPERTY(EditAnywhere, Category = "Attributes") TArray> StartupAbilities;ASC에 능력(Ability)를 부여 && 활성화하는 함수를 만듬void UAuraAbilitySystemComponent::AddCharacterAbilities(const TArray>& StartupAbilities){ for(TSubclassOf AbilityClass : StartupAbilities) { FGameplayAbilitySpec AbilitySpec=FGameplayAbilitySpec(AbilityClass,1); ..
[UE5] Gameplay Ability 개념
* 게임플레이 어빌리티 : 행동 or 스킬내장기능 : 복제기능o, 예측기능o, 쿨다운기능 o(스킬사용 마나부족 , 쿨타임 등) * 어빌리티 태스크게임플레이 어빌리티 실행중에 작업을 실행하는 애ex) 이벤트발생 -> 어빌리티태스크는 델리게이트를 방송함 -> 특정 출력 핀이 실행 * GA 사용하려면 ASC에 능력을 부여해야함GASpec에 정보들을 채움이때, 서버에서 클라로 GASpec 복제함 * GA 활성화개념 * GA정리스킬, 능력 정의하는 클래스ASC에 능력 부여해야함 (서버에서 부여, 클라로 스펙 복제)사용위해 활성화되야함쿨타임개념 있음한번에 여러개 수행가능
[UE5] 속성변경시 위젯에 즉시반영 구현
* 속성변경시 모든위젯에 방송떄림void UAttributeMenuWidgetController::BindCallbacksToDependencies(){ UAuraAttributeSet* AS = CastChecked(AttributeSet); //부모인 위젯컨트롤러가 갖고있음 for(auto& Pair : AS->TagsToAttributes) // 모든 속성들에대해(str,int...) { AbilitySystemComponent->GetGameplayAttributeValueChangeDelegate(Pair.Value()).AddLambda( //해당속성 : str,int에 대해 [this, Pair,AS](const FOnAttributeChangeData&..