유니티 코루틴을 활용한 Fade In Fade Out

2020. 7. 9. 23:42유니티실습

반응형
728x170

안녕하세요 유니티 비기너입니다.

이번 시간에는 코 루틴을 활용하여 fade in과 fade out을 방법에 대해 알아보겠습니다.

 

결과 화면

 

플레이어가 우측으로 이동시 FadeOut이 실행되어 검정화면을 FadeOut 시켜 뒷 배경이 나타납니다.

반대로 좌측으로 이동시 FadeIn이 실행되어 검정화면이 다시 나타나게 합니다.

 

연출은 간단하게 하기 위해서 BoxCollider를 활용하여 FadeIn FadeOut이 작동하도록 하였지만

이 방법을 응용하여 다양한 연출들이 가능합니다.

 

방탈출에서 방을 이동할 때 Fade In Out 처리를 하여 깜박거림을 표현한다던가

2D 게임의 건물 내부로 들어가는 경우 지붕이 FadeOut 되어 내부가 보이게 표현하는 등등이 있습니다.

스크립트

    private void OnTriggerEnter2D(Collider2D col) {
        if(col.tag == "FadeIn") {
            StartCoroutine("FadeIn");
        } else if(col.tag == "FadeOut") {
            StartCoroutine("FadeOut");
        }
    }

    IEnumerator FadeIn() {
        for (float ff = 0.0f; ff <= 1.0f;) {
            ff += 0.2f;
            fade.color = new Color(0, 0, 0, ff);
            yield return new WaitForSeconds(0.5f);
        }
    }

    IEnumerator FadeOut() {
        for (float ff = 1.0f; ff >= 0.0f;) {
            ff -= 0.2f;
            fade.color = new Color(0, 0, 0, ff);
            yield return new WaitForSeconds(0.5f);
        }
    }

 

 

 

반응형
그리드형