프로그래밍 농장

코루틴(coroutine) 이란? [ Unity ] 본문

Unity

코루틴(coroutine) 이란? [ Unity ]

Tennessee201 2022. 3. 28.
728x90

> 문제 

생성 직후부터 서서히 나타났다가 서서히 없어지는 오브젝트를 만들고자 할떄 어떻게 구현할것인가?

 

> 해결방법 

Update 함수를 사용하여 매 프레임에 걸쳐 적의 SpriteRenderer를 통해서 알파값을 조정해주는 방식으로 구현할수있다. 

-> 위의 방법을 사용할 경우 매프레임마다 구현된 함수를 호출해야하므로 시스템 과부하를 초래할 수 있다.


위의 방법은 여러가지 함수를 통하여 오브젝트의 생성에 대한 주기도 설정해주어야하는등, 여러가지 복잡한 구조의 코딩이 요구될것이다. 

이때 사용가능한 것이 바로 코루틴(coroutine)이다. 

 

- 코루틴 (coroutine) 

유니티 메뉴얼상의 코루틴은 "실행을 중지하여 Unity에게 제어권을 돌려주고, 계속할 떄에는 다음 프레임에서 중지한 곳부터 실행을 계속할 수 있는 기능이다" 라고 설명하고있다. 

Update -> Coroutine -> Update -> Coroutine 의 반복인것이다.

 

코루틴은 단일 스레드로 동작하는 유니티를 멀티 스레드처럼 보이게 해주는 기술이다. 위처럼 코루틴은 Update과정에서 코루틴으로 통제권이 넘어갔다가 다시 Update로 돌아오는 형태를 보인다. 

 

 

728x90