- 개요
프로젝트에서 발생하는 여러 문제와 연관된 코드를 수정한다
1) 확장된 GameplayEffectContext 클래스의 네트워크 직렬화 문제
관련 클래스 : AuraAbilityTypes 클래스 - AuraGameplayEffectContext 클래스

GetScriptStruct 함수에서 부모 클래스를 반환하지 않고 자기자신을 반환하도록 수정한다



NetSerialize 함수를 위와 같이 수정한다
각각 다음과 같다
- 부모 클래스인 GameplayEffectContext에서 이미 사용하는 비트를 직렬화
- 직렬화하는 비트의 범위를 1칸 증가시켜 여유있게 처리
- 부모 클래스에서 이미 처리한 bOutSuccess를 반환
2) 쿨타임 GE를 적용하기 이전의 검증처리
관련 클래스 : WaitCooldownChange 클래스

OnActiveEffectAdded 함수에 위와 같이 로직을 추가하여
쿨타임의 GE를 적용하기 이전에 GE의 계산에 필요한 Attribute가 캡쳐되었는지 확인한다
3) AI 개선
관련 클래스 : BTService_FindNearestPlayer 클래스

TickNode 함수를 위와 같이 수정하여 플레이어가 쓰러졌다면 로직을 수행하지 않도록 설정한다
4) Attribute 변동 + 텍스트 팝업
관련 클래스 : AuraAttributeSet 클래스

PostAttributeChange 함수를 위와 같이 수정하여 레벨업된 경우에만
현재 체력과 현재 마나를 최대 체력과 최대 마나로 설정한다

ShowFloatingText 함수를 위와 같이 수정하여
데미지를 입히거나 데미지를 입은 경우 팝업되는 UI를 모든 플레이어가 확인할 수 있도록 설정한다

HandleIncomingXP 함수를 위와 같이 수정하여
레벨업을 먼저 진행한 후에 레벨에 맞춰 스킬 포인트와 능력치 포인트를 얻을 수 있도록 설정한다
5) 입력을 통한 어빌리티 발동
관련 클래스 : AuraAbilitySystemComponent 클래스

AbilityInputTagPressed 함수를 위와 같이 수정하여
현재 발동된 GASpec의 기본 인스턴스의 ActivationPredictionKey를 사용하여
클라이언트에서 발동한 GA의 Prediction을 처리하도록 수정한다

AbilityInputTagReleased 함수를 위와 같이 수정한다
입력을 뗀 키와 연동된 어빌리티를 수행하고,
해당 어빌리티가 발동중이라면 현재 발동된 GASpec의 기본 인스턴스의 ActivationPredictionKey를 사용한다
6) 캐릭터의 물리 작용
관련 클래스 : AuraCharacterBase 클래스

MulticastHandleDeath 함수를 위와 같이 수정하여 쓰러진 캐릭터가
ECC_WorldStatic 채널을 가진 모든 오브젝트를 통과하지 못하고 충돌하도록 설정한다
'언리얼 엔진 - 게임 프로젝트 > GAS 프레임워크 RPG 프로젝트' 카테고리의 다른 글
| 전기 광선 스킬 - 7) 전기 광선 스킬의 구현 (2) (0) | 2025.11.25 |
|---|---|
| 전기 광선 스킬 - 6) 전기 광선 스킬의 구현 (1) (0) | 2025.11.25 |
| 전기 광선 스킬 - 4) 전기 광선의 연쇄 충격 시스템 구현 (0) | 2025.11.23 |
| 전기 광선 스킬 - 3) 전기 광선 스킬 추가 및 FX 효과 구성 + 일부 수정 (0) | 2025.11.22 |
| 전기 광선 스킬 - 2) 광선 계열 스킬 추가 + 그 외의 수정 (0) | 2025.11.21 |