코루틴

unity 유니티 공부 2025. 10. 26. 16:53 |




코루틴

같이 실행
병렬 처리



함수A( );
함수B( );
그냥 코루틴 없이 이렇게 하면
A 끝나고 기다렸다가 다음에 B 나옴
이렇게 직렬, 순차적으로 처리 됨




IEnumerator  를 넣어서 설정함





코루틴 끝엔 yield return 을 넣음

yield return null;
1프레임 대기

yield return new WaitForSeconds(0.1f);
0.1 초 대기함

yield return new WaitForSecondsRealtime(float time);
Time Scale 조정에 영향 안받으며 대기

yield return new WaitForEndOfFrame();
모든 렌더 완료시까지 대기

yield return new WaitUntil ( ( ) => condition);
특정 조건 true 될 때 까지 대기

yield return StartCoroutine(AnotherRoutine());
다른 코루틴 끝날 때까지 대기

 



코루틴 시작할 땐 이런식으로 실행
StartCoroutine( 함수( ) ) ;



Coroutine 변수S
변수를 코루틴으로 지정

StopCoroutine ( 코루틴으로 지정한 변수S )
그 변수를 중지 시키기

StopAllCoroutine( );
지금 이 클래스 내의 모든 코루틴 중지




+



코루틴 쓰는 상황들 =

스킬 발동 연출
모션 시작 → 특정 프레임에서 이펙트 발생
→ 대기 → 데미지 적용 → 모션 종료

피격 연출 
데미지 팝업 → 피격 애니 → 체력바 감소 애니

다음 턴 유닛 선택시까지 대기

페이드 인 서서히 나타나기 효과

페이드 아웃 서서히 사라지기 효과

마우스 오버 ui
캐릭터 위에 마우스를 올렸을 때, 0.5초 후에야 상세 정보 창이 나타나도록 지연 시간

대규모 동시 초기화
수많은 캐릭터의 스탯, 아이템 데이터 등을 여러 프레임에 걸쳐 분할하여 로딩
프레임 드롭 방지 개념임

렉 방지
yield return null (1프레임씩 대기) 를 넣어 연출하여 렉을 방지함

씬 비동기 로딩
다른 씬으로 전환할 때, 로딩 화면을 보여주면서 백그라운드에서 리소스를 로드



+

#region ABCD
숨길 내용
#endregion ABCD

이렇게 안 봐도 되는 코드는 접기 펼치기 기능을 쓸 수 있다
전처리 기능 이라고 함






 

 

반응형
Posted by 이름이 익명
: