2026/06 15

TIL - 96

검방패 사운드 작업 정리0. 한 줄 요약검방패 콤보어택 스윙 사운드를 랜덤 큐 + 몽타주 노티파이로 구현·검증 완료히트음/설정볼륨연동/CastSound/소환액터음은 방식 확정 후 보류 또는 진행 예정.1. 완료된 작업 (monolith로 적용·저장·검증)1-1. 랜덤 Sound Cue 2개 생성 — /Game/Retrieve/Audio/SwordShield/큐구성변조SC_SSH_ComboSwing (스윙)SW_Whoosh_Metal_4-1/2/3/5/7 → RandomPitch 0.91.1, Vol 0.851.0, Randomize Without ReplacementSC_SSH_SwordHit (히트)SW_Sword_Hit_1-1/3/4 + SW_Generic_Hit_1-1/4 → RandomPitch ..

TIL - 95

전투 VFX 작업1. 상태이상 VFX (Burn / Cold)방식: 머티리얼 overlay 틴트 + Niagara 파티클 (GameplayCue 기반)태그: GameplayCue.Status.Burn / GameplayCue.Status.Cold (네이티브, RetrieveGameplayTags)머티리얼: M_StatusOverlay(부모, Unlit·Additive·Fresnel 발광) + MI_StatusBurn / MI_StatusFrostnotify: GCN_Status_Burn/Cold (Looping)OnActive: 타깃 메시에 SetOverlayMaterial + NS 스폰OnRemove: overlay 해제 + 스폰 컴포넌트 정리몸 전체 커버: NS에 Skeletal Mesh Locati..

TIL - 94

GAS에서 지속 데미지(Burn)가 매 틱 피격 리액션을 유발하는 문제증상플레이어가 몬스터에게 Burn(GE_Burn)을 부여하면, 몬스터가 화상 데미지를 받는 매 틱마다 움찔(Flinch) 거리는 현상.원인 분석Burn은 Periodic(주기) 데미지라 틱마다 PostGameplayEffectExecute → BroadcastHitEvent가 호출된다.BroadcastHitEvent는 공격 GE의 asset tag를 읽어 두 개의 이벤트를 발행한다.구분매칭 베이스 태그Burn에서의 값공격자 이벤트GameplayEvent.Attack.HitSuccessGameplayEvent.Attack.HitSuccess.Burn ✅타겟 이벤트GameplayEvent.HitBurn엔 Hit.* 태그가 없어 기본값 Ga..

TIL - 93

전투/UI데미지 플로터가 뜨는 조건 (GAS)데미지 GE가 ExecCalc_BasicHitDamage → IncomingDamage 메타 어트리뷰트를 거쳐야 CombatAttributeSet::BroadcastHitEvent가 Channel.Combat.DamageDealt를 발행한다.BroadcastHitEvent는 GE의 GameplayEvent.Attack.HitSuccess.* 태그를 뽑아 그걸 키로 DT_HitFeedback을 조회(없으면 .Light 폴백). 매칭 행이 없으면 AttackFeedbackComponent가 플로터를 건너뛴다.⇒ 새 공격에 플로터를 띄우려면: 데미지 GE에 HitSuccess.* 태그 + 해당 태그의 DT_HitFeedback 행 추가. 태그를 나누면(버스트 .Bu..

TIL - 92

다중 Row 드랍 & 인벤토리 직접 지급개요적 사망 시 여러 드랍 Row를 각각 확률 굴림하여, 마지막으로 공격한 플레이어의 인벤토리로 직접 지급한다. (아이템 액터 스폰 없음)주요 변경1. 데이터 구조 — RetrieveDataTableTypes.hFEnemyDropRow: ItemTag(FGameplayTag) → ItemId(FName) + ItemCategoryTag(FGameplayTag) (인벤토리 키와 일치)FMonsterDataRow: DropRow(FName) → DropRows(TArray)2. 드랍 처리 — DropComponent.h/.cppInitialize(UDataTable*, const TArray&) — 배열 수신ProcessDrop(): 서버 권한 확인 → 마지막 공격자 ..

TIL - 91

인벤토리 프리뷰 & 그리드 슬롯 작업 정리1. 캐릭터 프리뷰 액터 — 스폰/재사용프리뷰 액터가 계속 스폰됨원인: Preview Actor Ref가 위젯 변수인데 인벤토리 위젯은 열 때마다 새로 생성됨 → ref가 매번 null → 재스폰해결: 변수는 위젯에 둔 채, 열 때 Get All Actors Of Class(BP_InventoryPreviewActor)로 기존 액터를 찾아 재사용2. 닫을 때 화면 흰색 번쩍 → 해결원인: 닫기/열기에서 프리뷰 액터에 건 Set Actor Hidden In Game 토글이 메인 뷰를 한 프레임 번쩍이게 함 (파괴/캡처 토글이 아니라 hide 토글이 범인)해결: 생성/삭제 로직에서 Set Actor Hidden In Game 노드 제거 (프리뷰 액터를 숨기지 말고 그..

TIL - 90

인벤토리 닫을 때 화면 흰색 번쩍 현상증상인벤토리를 닫는 순간 땅·랜드스케이프 등 라이팅 받는 면이 한 프레임 하얗게 번쩍 → 곧 정상 복귀하늘·HUD는 정상, 인벤토리가 열려 있는 동안엔 정상모든 레벨에서 발생, 인벤토리만 발생(맵 패널은 정상)원인인벤토리 3D 프리뷰 액터를 닫을 때 Destroy Actor (Preview Actor Ref)로 파괴함프리뷰의 SceneCapture2D가 파괴되는 순간 메인 뷰 렌더(노출/캡처 공유 상태)를 한 프레임 교란 → 흰색 번쩍조명 누출 아님(누출이면 여는 내내 밝아야 함), 닫는 시점의 파괴(teardown) 타이밍 문제렌더 옵션 전부 꺼도 재현되어 포스트 효과 아님으로 확인r.EyeAdaptationQuality 0, r.DynamicGlobalIllumi..

TIL - 89

GA_Attack / GA_Burst 버그 수정1. 3타 콤보 끝 무렵 버스트 사용 시 State.Attack 잔존 버그증상: GA_Attack 3타가 끝나갈 때 버스트를 쓰면 State.Player.Attacking 태그가 안 사라져 이후 공격 입력이 막힘.원인: 마지막 타가 블렌드아웃 중일 때 버스트 몽타주가 끼어들면 GA_Attack의 몽타주 콜백(OnCompleted/OnInterrupted)이 발동되지 않아 EndAbility가 호출되지 않음 → 좀비 어빌리티 상태로 태그 잔존.수정:GA_Attack.cpp — 몽타주 태스크 생성 시 bAllowInterruptAfterBlendOut=true 전달. 블렌드아웃 중 인터럽트돼도 OnInterrupted → EndAbility가 호출되어 태그 정리..

TIL - 88

WBP_LoadingCutscene 컴파일 Ensure 정리증상에디터에서 WBP_LoadingCutscene 컴파일 시 아래 ensure가 반복 발생 (크래시 아님, 디버거 연결 시 브레이크만 걸림 → F5로 계속 진행 가능)Ensure condition failed: !WidgetBP->GeneratedVariables.ContainsByPredicate(...)[WidgetBlueprintCompiler.cpp] [Line: 1527 / 1528 / 1620 / 1622]Widget Blueprint [WBP_LoadingCutscene] already contains generated variable with name [Anim_FadeIn]Attempting to add generated vari..

TIL - 87

Burst VFX 작업 정리AAA 바람 검기 투사체경로: /Game/Retrieve/Blueprints/BurstActors/Projectiles/메시 SM_Wind_Slash_01glTF로 절차 생성 후 임포트. 검기 슬래시 형태(테이퍼 1.8 → 끝 뾰족) + 3D 두께 24cm⚠️ glTF는 미터 단위(값 ÷100), 재임포트는 AssetImportTask로 제자리 교체(BP 참조 유지), Nanite OFF머티리얼 M_WindSlash_Detail (메시용, Unlit/Translucent/Two-Sided)절차적 형태 대신 메시가 형태 담당, 머티리얼은 표면만Fresnel 림 글로우(입체감) + 끝 페이드 + 흐르는 바람 텍스처(Tx_Wind_01)노브: RimIntensity EmissiveI..