728x90
이 글은 Class101 - 러셀 강의를 듣고 정리한 글입니다.

 

목차.

  1. 개요
  2. 레벨 시퀀스 생성
  3. 페이드 트랙 설정
  4. 블루프린트 클래스 작성
  5. 결과

 

개요

 

언리얼 엔진에서 게임을 개발 중, 레벨 간 전환 시 화면이 뚝끊기는 문제가 발생합니다.

이 문제는 플레이어 경험에 부정적인 영향을 미치며, 이를 해결하기 위해 시퀀서를 활용한 화면 페이드 인 페이드 아웃 효과를 적용하는 방법을 알아보겠습니다.

이를 통해 전환 시 부드럽고 시각적으로 매끄럽게 화면을 전환할 수 있습니다.

 

레벨 시퀀스 생성

먼저, 언리얼 엔진 에디터 창에서 시퀀스를 생성합니다.

시퀀스는 시각적인 요소를 효과적으로 다루는데 사용되며, 주로 카메라 연출에서 많이 사용이 됩니다.

또한 엑터의 스케일이나 위치를 조절하여 다양한 애니메이션 또한 연출이 가능합니다.

 

상단 시네마틱 -> 레벨 시퀀스 추가

 

레벨-시퀀스-추가
레벨 시퀀스 추가

 

페이드 트랙 설정

 

레벨 시퀀스가 잘 추가되었다면 좌측 하단에 초록색 트랙 추가 버튼을 볼 수 있습니다.

 

시퀀서 창에서 트랙 -> 페이드 트랙 선택

페이드-트랙-선택
페이드 트랙 선택

 

 

이제 자연스러운 전환을 위해 키 프레임을 설정해야합니다.

 

프레임 0일 때 페이드 값을 0으로 설정한 뒤 오른쪽 +(키) 클릭

프레임 30일 때 페이드 값을 1로 설정한 뒤 오른쪽 +(키) 클릭

 

페이드-키-프레임-설정
페이드 키 프레임 설정

 

이제 시퀀서 작업은 끝입니다.

0 프레임 일 때는 페이드 값이 0이라서 화면이 잘 보이고,

30 프레임 일때는 페이드 값이 1이라서 화면이 완전히 검은색이 됩니다.

 

화면이 정상적으로 페이드인 되는 것을 확인하기 위해 스페이스바를 누르면 잘 작동하는 것을 볼 수 있습니다.

 

블루프린트 클래스 작성

 

이렇게 만든 시퀀서를 작동시키기 위해서 트리거가 되어줄 액터가 필요합니다.

 

블루프린트를 새로 추가해야 하는데, 저는 기존에 생성해 둔 포탈 블루프린트에 작성할 것입니다.

 Actor를 부모로 한 블루프린트 클래스를 하나 생성합니다.

 

만든 시퀀스를 월드 아웃라이너 창에서 블루 프린트에 추가하려고 해도 되지 않습니다.

이는 변수를 통해서 시퀀스에 접근이 가능합니다.

 

변수를 추가하고 변수 유형은 Level Sequence로 설정한 뒤, 컴파일을 하면

하단에 기본값이라는 항목이 생기는데 이곳에 조금 전에 만든 Fade 시퀀스를 추가해 줍니다.

 

기본값-항목에-시퀀스-추가
기본값 항목에 시퀀스를 추가

블루 프린트 액터에 BoxCollision 컴포넌트가 없다면 추가하시면 됩니다.

 

아래 블루프린트는 BoxCollision에 충돌하면 1초 동안 레벨 시퀀스를 작동시키고 1초가 지나면 지정한 레벨로 이동하는 노드입니다.

 

만약 1초라는 딜레이를 주지 않는다면 시퀀스가 작동하던 중 바로 레벨이 이동이 됩니다.

 

블루프린트-노드
블루프린트-노드

 

이대로 작동하면 페이드인은 잘 되지만 다른 레벨로 이동한 뒤, 페이드 아웃은 되지 않습니다.

 

이를 해결하기 위해 이동할 레벨에도 Fade 시퀀스를 레벨에 배치합니다.

 

그리고 상단에 블루 프린트 -> 레벨 블루프린트 열기를 눌러줍니다.

 

이벤트 그래프에서 게임이 시작할 때 Play Reverse를 통해서 시퀀스가 반대로 실행하게 해 줍니다.

 

시퀀스-반대로-실행
시퀀스 반대로 실행

 

결과

 

결과적으로 포탈에 들어가면 페이드 인이 되고,

페이드 아웃이 되며 레벨이 이동된 것을 볼 수 있습니다.

 

만약 다양한 레벨이 있다면 각각 모든 레벨에 대해서 반대로 시퀀스가 실행되는 작업을 해주면 됩니다.

728x90

+ Recent posts