인벤토리 닫을 때 화면 흰색 번쩍 현상
증상
- 인벤토리를 닫는 순간 땅·랜드스케이프 등 라이팅 받는 면이 한 프레임 하얗게 번쩍 → 곧 정상 복귀
- 하늘·HUD는 정상, 인벤토리가 열려 있는 동안엔 정상
- 모든 레벨에서 발생, 인벤토리만 발생(맵 패널은 정상)
원인
- 인벤토리 3D 프리뷰 액터를 닫을 때
Destroy Actor (Preview Actor Ref)로 파괴함
- 프리뷰의 SceneCapture2D가 파괴되는 순간 메인 뷰 렌더(노출/캡처 공유 상태)를 한 프레임 교란 → 흰색 번쩍
- 조명 누출 아님(누출이면 여는 내내 밝아야 함), 닫는 시점의 파괴(teardown) 타이밍 문제
- 렌더 옵션 전부 꺼도 재현되어 포스트 효과 아님으로 확인
r.EyeAdaptationQuality 0, r.DynamicGlobalIlluminationMethod 0, r.AntiAliasingMethod 0, r.ReflectionMethod 0, r.Shadow.Virtual.Cache 0, r.BloomQuality 0 → 전부 여전히 번쩍, 프레임 스파이크(히치) 없음
확정 테스트 (10초)
- 인벤토리 WBP
Event Destruct에서 Destroy Actor를 임시로 Set Actor Hidden In Game (true)로 교체 후 닫기
- 번쩍임이 사라지면 → 파괴가 원인 확정
해결: 파괴하지 말고 숨겨서 재사용
- 닫을 때(Destruct): SceneCapture
Set Capture Every Frame = false(또는 컴포넌트 Deactivate) → Set Actor Hidden In Game (true)
- 열 때(Construct): 프리뷰 액터 없으면 1회 스폰, 있으면
Set Actor Hidden In Game (false) + 캡처 재활성
- 파괴 이벤트 자체가 없어져 번쩍임 제거 + 매번 스폰/캡처 셋업 비용 절감
꼭 파괴해야 할 경우
- 캡처부터 끄고(
bCaptureEveryFrame=false / Deactivate) → 패널 사라진 다음 프레임(Delay 0 / 타이머)에 Destroy Actor
- 캡처가 살아있는 채로 액터를 destroy하면 그 프레임에 메인 뷰가 튐
참고
- 프리뷰 SceneCapture2D의 PostProcess 노출을 Manual로 고정해 메인 뷰 eye-adaptation과 분리 권장