- 개요
프로젝트의 Default 맵을 변경한다
또 맵을 구성하는 오브젝트에 플레이어가 가려지면 Fade Out을, 플레이어가 사라지면 Fade In을 하도록 설정한다
1) DefaultEngine.ini

에디터 또는 DefaultEngine.ini 파일에서 DefaultMap 설정과 StartupMap 설정을 변경한다

에디터 또는 DefaultEngine.ini 파일에서 RenderSettings를 위와 같이 설정한다
- TextureStreaming 옵션 : True로 설정하여 사용하지 않은 Texture Mip을 메모리에 로드하지 않도록 설정
- PoolSize 옵션 : Texture에 할당하는 풀의 크기를 1000으로 설정
위와 같이 설정하여 렌더링에 대한 메모리의 낭비를 방어할 수 있다
2) 블루프린트 사이드
2 - 1) BP_FadeActor 블루프린트

생성자의 로직을 위와 같이 구성하였다
- 원래의 머티리얼들을 OriginalMaterials 변수에 저장
- FadeMaterialInstances 변수로부터 머티리얼 인스턴스를 생성하여 DynamicMaterialInstances 변수에 저장

SetMaterialsToDynamicInstances 함수의 로직은 위와 같다
DynamicMaterialInstances 변수를 순회하면서 메쉬의 머티리얼을 설정한다

ResetMaterials 함수의 로직은 위와 같다
OriginalMaterials 변수를 순회하면서 메쉬의 머티리얼을 설정한다

FadeFinished 함수의 로직은 위와 같다
플레이어의 CameraBoom에 설정된 BoxCollision과 오브젝트가 겹쳐진 시간에 따라서
Fade Out 상태를 유지할지, Fade In 상태로 변경할지 설정한다

FadeIn 이벤트와 FadeOut 이벤트를 수행하도록 설정하였다
플레이어와 겹쳐지면 FadeOut하고, 플레이어와 겹쳐지지 않으면 FadeIn한다

Class Settings에서 BI_FadeInterface를 상속받도록 설정한다
FadeIn 이벤트와 FadeOut 이벤트 모두 해당 인터페이스의 추상함수로 사용한다
2 - 2) BP_AuraCharacter 블루프린트

Box 컴포넌트에서 BeginOverlap되거나 EndOverlap되는 경우 오버랩된 대상이 BI_FadeInterface를 상속받았다면,
대상으로부터 FadeOut 함수와 FadeIn 함수를 호출하도록 설정한다
- 최종 실행 결과
'언리얼 엔진 - 게임 프로젝트 > GAS 프레임워크 RPG 프로젝트' 카테고리의 다른 글
| 코스트와 쿨타임 - 2) 어빌리티와 Tag 연동 + 어빌리티와 UI 연동 세팅 (0) | 2025.10.18 |
|---|---|
| 코스트와 쿨타임 - 1) 스킬 UI + 경험치 UI (0) | 2025.10.17 |
| 몬스터 마무리 - 최종) 고블린 주술사 AI 구성 + 코드 개선 (0) | 2025.10.12 |
| 몬스터 마무리 - 4) 임프 소환 GameplayAbility 구현 (0) | 2025.10.11 |
| 몬스터 마무리 - 3) 임프 추가 및 기본 설정 (0) | 2025.10.10 |