반응형

2025/10 7

[UE] GameplayEffect의 Stack 여부에 따른 Tag 중첩

Q) 왜 Stack이 쌓이는 GE는 Tag가 중첩되지 않지만, Stack이 쌓이지 않는 GE는 Tag가 중첩될까? A) Stack이 쌓이는 GE를 찾아서(FindStackableActiveGameplayEffect) 있으면 해당 GE에 스택만 변경, 없으면 FActiveGameplayEffect 새로 만들어서 태그 및 스택 변경 만약 FindExistingActiveGameplayEffect로 스택 가능한 GE가 없으면 새로운 FActiveGameplayEffect를 만든다 만약 스택 가능한 GE가 없으면 새로 만든 FActiveGameplayEffect를 인자로 넘기는 InternalOnActiveGameplayEffectAdded를 호출해준다. 내부에서 UpdateTagMap으로 GrantedTag..

공부/UE 2025.10.20

[UE5] PlayerState, PlayerController의 Replicate 시점

1. 서버에서는 PossessedBy 호출되면 Pawn에 Controller 및 Controller의 PlayerState 둘 다 세팅되어서 유효함 2. 클라에서도 PlayerState가 Replicate 되면 OnRep_PlayerState, Controller가 Replicate되면 OnRep_Controller 가 각각 호출된다. 문제는 이 두 함수의 순서가 보장이 안된다. 따라서 PlayerState, Controller가 확실하게 유효할 때 접근해서 사용하기 위해 각각의 함수에서 InitAbilityActorInfo(아니면 아래 출처의 블로그처럼 RefreshAbilityActorInfo)를 호출해주는 게 좋다 https://vorixo.github.io/devtricks/gas-replicat..

공부/UE 2025.10.14

[UE] GAS in Multiplayer Game

게임 모드는 서버에서만 있다. 클라에서 접근하면 nullptr를 반환서버에선 모든 클라의 Player Controller를 갖고 있고 각자 클라는 각자 Player Controller의 local version을 갖고 있다서버에선 모든 클라의 Player State를 갖고 있고 클라는 본인 것 포함 다른 클라의 Player State의 local version을 갖고 있다서버에서 모든 Pawn을 다 갖고있고 각자 클라도 마찬가지로 모든 Pawn의 local version을 갖고 있다각자 클라는 본인의 HUD와 Widget만들 갖고 있다서버에서 바뀐 변화를 클라에게 뿌려주는것을 Replication이라고 한다Replication은 서버->클라 한 방향으로만 가능하다

공부/UE 2025.10.03

[UE] Rotation

Orient Rotation to Movement“Pawn/Character를 이동 입력 방향으로 자동 회전시키는 기능”Controller 회전을 바꾸는게 아님Use Pawn Control Rotation Spring Arm, Camera 두 컴포넌트 모두에 Use Pawn Control Rotation 옵션이 있다.여기서 Control Rotation은 캐릭터가 바라보는(=카메라) 시야 Spring Arm의 Use Pawn Control Rotation- Spring Arm의 회전이 Pawn의 Control Rotation을 따라 갈 것 인지Camera의 Use Pawn Control Rotation- Camera의 회전 이 Pawn의 Control Rotation을 따라 갈 것 인지 Spring Ar..

공부/UE 2025.10.03

[UE] 입력을 매핑하는 과정

1. Input Action 만들기 2. Input Mapping Context 만들기아까 Input Action을 만든 이유는 Input Mapping Context에 Mapping해주기 위함이다 3. UEnhancedInputLocalPlayerSubsystem에 내가 만든 InputMappingContext 연결해주기UEnhancedInputLocalPlayerSubsystem는 언리얼에서 제공하는 Subsystem의 일종이다(https://welikecse.tistory.com/193) 4. InputComponent에 내가 원하는 동작에 대한 함수를 바인딩InputComponent는 Player Controller 클래스가 멤버로 갖고 있다InputComponent를 냅다 자식 클래스인 UEn..

공부/UE 2025.10.03
반응형