본문으로 건너뛰기
Unity C# 기초집LESSON 07

Time과 프레임

난이도초급
예상 시간30분
선수지식6강 Transform 이동

7강. Time과 프레임

1. 이번 강의에서 해결할 문제

프레임이 많은 PC에서 택배가 더 빨리 움직이거나 일시정지 뒤에도 시간이 흐르는 문제가 생깁니다. 초당 속도와 물리 갱신 주기를 구분합니다.

2. 학습 목표

3. 핵심 개념

Time.deltaTime은 직전 프레임에 걸린 시간입니다. 속도에 곱하면 프레임 수가 아니라 실제 경과 시간에 비례합니다. 물리 엔진은 고정 간격으로 갱신되므로 Rigidbody 이동은 FixedUpdate에서 처리합니다. Unity의 세부 호출 순서는 이벤트 함수 실행 순서에서 확인할 수 있습니다.

4. 단계별 실습

C# · 파일 경로: Assets/DeliverySorter/Scripts/Packages/TransformFallMover.cs

TransformFallMover.cs
using UnityEngine;

public sealed class TransformFallMover : MonoBehaviour
{
[SerializeField, Min(0f)] private float unitsPerSecond = 2f;

private void Update()
{
float distance = unitsPerSecond * Time.deltaTime;
transform.Translate(Vector3.down * distance, Space.World);
}
}

Unity Editor 작업

  1. Game 뷰의 Stats를 켜거나 품질 설정을 바꿔 프레임 변화에도 낙하 시간이 비슷한지 확인합니다.
  2. Time.timeScale0으로 바꾸면 deltaTime 기반 이동이 멈추는 점을 Console 실험으로 확인합니다.
  3. 물리 Component는 11강에서 추가하므로 지금은 Update와 Transform을 함께 사용합니다.

5. 코드가 동작하는 이유

초당 2유닛에 프레임 경과 시간을 곱하면 각 프레임의 이동량이 됩니다. 프레임이 짧으면 작은 값을 자주 더하고, 길면 큰 값을 적게 더해 같은 실제 시간 동안 비슷한 거리를 이동합니다.

6. 자주 하는 실수와 해결법

7. 직접 실습

8. 이해 점검 질문 3개

9. 핵심 요약

MINI QUIZ

Time과 프레임 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1다음 중 “Time과 프레임”의 핵심 요약을 실제 상황에 맞게 적용한 것은 무엇인가요?
  2. 문제 2“Time과 프레임”에서 ‘모든 일을 FixedUpdate로 옮김’ 문제가 생겼습니다. 가장 알맞은 진단 또는 대응은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

7강. Time과 프레임 미완료 상태