언리얼 엔진 - 게임 프로젝트/GAS 프레임워크 RPG 프로젝트

맵 제작 - 최종) 기본 맵 변경 + 맵 오브젝트 Fade In / Fade Out

monstro 2025. 10. 16. 15:44
728x90
반응형

- 개요

프로젝트의 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 블루프린트

Construction Scripts 로직

 

생성자의 로직을 위와 같이 구성하였다

  • 원래의 머티리얼들OriginalMaterials 변수에 저장
  • FadeMaterialInstances 변수로부터 머티리얼 인스턴스를 생성하여 DynamicMaterialInstances 변수에 저장

 

SetMaterialsToDynamicInstances 함수 로직

 

SetMaterialsToDynamicInstances 함수의 로직은 위와 같다

DynamicMaterialInstances 변수를 순회하면서 메쉬의 머티리얼을 설정한다

 

ResetMaterials 함수 로직

 

ResetMaterials 함수의 로직은 위와 같다

OriginalMaterials 변수를 순회하면서 메쉬의 머티리얼을 설정한다

 

FadeFinished 함수 로직

 

FadeFinished 함수의 로직은 위와 같다

플레이어의 CameraBoom에 설정된 BoxCollision오브젝트가 겹쳐진 시간에 따라

Fade Out 상태를 유지할지, Fade In 상태로 변경할지 설정한다

 

EventGraph 설정

 

FadeIn 이벤트와 FadeOut 이벤트를 수행하도록 설정하였다

플레이어와 겹쳐지면 FadeOut하고, 플레이어와 겹쳐지지 않으면 FadeIn한다

 

 

Class Settings에서 BI_FadeInterface를 상속받도록 설정한다

FadeIn 이벤트 FadeOut 이벤트 모두 해당 인터페이스의 추상함수로 사용한다

 

2 - 2) BP_AuraCharacter 블루프린트

EventGraph 로직 추가

 

Box 컴포넌트에서 BeginOverlap되거나 EndOverlap되는 경우 오버랩된 대상BI_FadeInterface를 상속받았다면,

대상으로부터 FadeOut 함수와 FadeIn 함수를 호출하도록 설정한다

 

- 최종 실행 결과

 

728x90
반응형