Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
| 29 | 30 | 31 |
Tags
- 태어난김에 보스까지
- 이리5조
- https://eo-oe.tistory.com/
- https://vetenir.tistory.com/
- https://hjmag1120.tistory.com/
- 스파르타코딩클럽
- https://ji-han.tistory.com/
- https://mynameiskgws.tistory.com/
Archives
- Today
- Total
info8995 님의 블로그
17일차(Delta Time) 본문
C++에서 **델타 타임(Delta Time)**은 프레임 속도가 다른 시스템에서도 동일한 속도로 동작하게 만들기 위해 사용하는 중요한 개념입니다. 게임과 같은 실시간 응용 프로그램은 다양한 하드웨어에서 실행되며, 각 시스템의 프레임 속도(FPS)가 다를 수 있습니다. 델타 타임은 이러한 프레임 속도의 차이를 보정하여, 일관된 동작과 부드러운 움직임을 보장합니다.
델타 타임의 계산과 역할
델타 타임은 이전 프레임과 현재 프레임 사이의 시간 차이를 나타냅니다. 예를 들어:
- 초당 8프레임이면 한 프레임당 시간이 1/8=0.1251 / 8 = 0.125초.
- 초당 16프레임이면 한 프레임당 시간이 1/16=0.06251 / 16 = 0.0625초.
각 프레임에서 델타 타임을 곱해 계산하면, 프레임 속도와 상관없이 동일한 결과를 얻을 수 있습니다.
예를 들어, 물체의 이동 거리 계산은 다음과 같이 수행됩니다:
이동 거리=속도×델타 타임
프레임 속도 독립성 유지
하드웨어 성능이 다른 두 시스템에서 다음과 같이 델타 타임을 적용하면, 동일한 속도로 움직이는 결과를 얻을 수 있습니다.
예제
- 시스템 A: 초당 8프레임(FPS) → 델타 타임 = 0.125초.
- 시스템 B: 초당 16프레임(FPS) → 델타 타임 = 0.0625초.
속도가 초당 10유닛이라고 가정했을 때:
- 시스템 A: 한 프레임에서 10×0.125=1.2510 \times 0.125 = 1.25유닛 이동.
- 시스템 B: 한 프레임에서 10×0.0625=0.62510 \times 0.0625 = 0.625유닛 이동.
프레임당 이동 거리는 다르지만, 시간이 지남에 따라 두 시스템 모두 초당 10유닛씩 동일하게 움직입니다.
결론
델타 타임은 시스템 성능 차이를 보정하여, 프레임 속도에 관계없이 일정한 움직임과 동작을 보장하는 핵심 개념입니다. 이를 통해 프레임 속도가 낮은 시스템에서도 고속 시스템과 동일한 결과를 얻을 수 있어, 하드웨어 독립적인 설계를 가능하게 합니다.
'TIL(Today I Learned) > Unreal Engine' 카테고리의 다른 글
| 29일차(언리얼 엔진에서 새로운 Actor 클래스 생성) (0) | 2025.01.27 |
|---|---|
| 26일차(언리얼 엔진 프로젝트 폴더 구조와 주요 파일) (0) | 2025.01.22 |
| 8일차(오브젝트와 레퍼런스) (0) | 2024.12.26 |
| 5일차(캐릭터애니메이션 추가) (0) | 2024.12.20 |
| 4일차(캐릭터움직임구현) (0) | 2024.12.19 |