TIL

유니티 부드러운 씬 전환 구현하기(이미지 페이드 인-아웃)

주전자123 2025. 3. 28. 20:31
320x100
반응형
SMALL

오늘은 씬이 전환할 때 딱딱하게 그냥 전환하는 것이 아니라 이미지가 켜졌다가 알파값이 점점 줄어들어

투명해지는 것을 구현해볼 것이다.

생각보다 되게 간단하다.

 

우선 하이라키창에 빈오브젝트를 생성하여 로드매니저라고 네이밍한다.

그 다음 코드로 가보겠다.

 

우선 로드매니저가 씬을 이동해도 파괴되지않고 계속 있어야하기때문에 싱글톤으로 작성해준다.

그리고 켰다껐다할 이미지를 선언해주고, 몇초 동안 켜져있을건지도 작성하기위해

fadeDuration이라는 변수도 선언해준다.

 

그 다음 스타트에서 이미지가 널이 아니라면, 즉 이미지가 있다면 꺼진상태에서 시작을 해야하기 때문에

셋액티브로 꺼준다.

 

그 다음 씬이 이동하는 함수를 작성해준다.

다음은 실질적으로 이미지가 켜져서 알파값이 처음엔 0이엿다가 255로 늘어나고, 다시 0으로 줄어드는 것을

구현하는 코루틴을 작성한다.

TransitionScene이라는 함수에서 우선 이미지를 켜주고,

페이드 함수를 1초동안 실행시켜 이미지의 알파값을 점점 증가시킨다.

그리고 씬을 이동하고 0.5초 기다렸다가 다시 페이드를 호출시켜 이미지의 알파값을 감소시킨다.

그러고 이미지의 셋액티브를 펄스로 만들어줘서 끄면 끝!

 

페이드함수는 1초가 되기까지

이미지의 알파값이 목표알파값까지 도달하도록 하는 함수이다.

728x90
반응형
LIST