| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 크루스칼
- 유니티
- navisworks api
- 행동트리
- raycast
- 깊이탐색
- 너비탐색
- 트리구조
- sparkmain(clone) 무한생성
- 습관형성 #직장인자기계발 #오공완
- unity sparkmain(clone)
- 디지털트윈
- Unity
- C#
- 최소신장트리 mst
- readonly
- sparkmain(clone)
- removeAll
- 유니티 sparkmain(clone)
- 드롭다운
- dropdown
- Simulation
- dfs
- list clear
- articulation body
- 오블완
- 최단거리 알고리즘
- 티스토리챌린지
- GetComponent
- unity korea
- Today
- Total
낑깡의 게임 프로그래밍 도전기
46일차 : '한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지' 강의 후기 본문



오늘은 단순히 프레임마다 움직이는 것 이상으로, 시간을 정해서 정확히 흐름을 제어할 수 있는 코루틴에 대해 배웠다. 코루틴은 스레드가 아니라 메인 스레드에서 프레임 사이를 가로지르며 이어서 실행되는 함수였고, 덕분에 “어느 정도 기다렸다가 이걸 하고, 다시 기다린 뒤 저걸 한다” 같은 시간 순서의 연출을 코드로 자연스럽게 적을 수 있었다. StartCoroutine으로 시작하면 첫 번째 yield 지점까지 실행된 뒤 멈췄다가, 조건이 충족되거나 지정한 시간이 지나면 다음 줄부터 다시 이어서 실행되었다. update에 타이머를 두고 if로 분기하는 방식보다 읽기 쉬웠고, 컷신이나 단계적인 UI 연출, 스폰 간격 제어, 페이드 인/아웃처럼 순차 진행이 중요한 로직에 특히 어울렸다.
Start를 IEnumerator로 선언하면 Start 자체가 코루틴으로 동작한다는 것도 알게 되었다. 이렇게 하면 오브젝트가 활성화될 때부터 자연스럽게 “yield return” 들을 따라 순서대로 일이 진행되었다. yield return null은 한 프레임 기다린다는 뜻이었고, WaitForSeconds는 게임 내 시간으로 N초를 기다라는 것이다.
추가로 찾아본 바로는 시간 기반 이동을 코루틴으로 다루는 요령도 있었다. 정해진 지속시간 동안 보간해서 움직이고 싶을 때, 루프 안에서 누적된 경과 시간을 기준으로 비율을 계산하고 그 비율로 위치나 회전을 보간해주면 프레임레이트와 무관하게 일정한 시간에 맞춰 끝낼 수 있었다. 이때 단순히 매 프레임 “조금씩 더한다”가 아니라 “지금까지 흐른 시간/목표 시간”을 기준으로 계산하는 습관을 들이면 끊김 없이 깔끔하게 마무리되었다. 아주 정확한 타이밍이 필요할수록 WaitForSeconds를 남발하기보다는 deltaTime을 누적해 스스로 시간을 관리하는 편이 예측 가능했고, 일시정지와도 잘 호환되었다.


오늘부로 64클립을 들었다.
내일도 파이팅!
'인강 후기' 카테고리의 다른 글
| 48일차 : '한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지' 강의 후기 (5) | 2025.08.17 |
|---|---|
| 47일차 : '한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지' 강의 후기 (4) | 2025.08.16 |
| 45일차 : '한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지' 강의 후기 (2) | 2025.08.14 |
| 44일차 : '한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지' 강의 후기 (3) | 2025.08.13 |
| 43일차 : '한 번에 끝내는 유니티&C# 게임 개발 초격차 패키지' 강의 후기 (4) | 2025.08.12 |