MathJax

2011년 7월 26일 화요일

FPS에 따른 애니메이션 조절 하기

[게임상 사용 시간]
FPS(Frame Per Second):
e.g. 30FPS = 1초당 30 프레임

[3dsMax 사용 시간]
TPS(Tick Per Frame):
e.g. 160TPS = 1프레임당 160틱

임의로 지정한 FPS로 애니메이션 프레임 진행하기

1초 동안 30 프레임이 진행 되어야 됨
30 FPS * 1 sec = 30 frame/sec * 1 sec = 30 frame

Δt 초 동안 x 프레임 진행 되어야 됨
30 FPS * Δt sec = 30 frame/sec * Δt sec = (30*Δt) frame = x frame

e.g. 게임 60FPS, 애니메이션이 30FPS 경우 현재 프레임 구하기

1. 매 프레임 동안 Δt의 합계 시간을 계산한다.
2. 합계 시간이 1/30FPS 보다 클 경우 x값을 구한다.
3. (합계 시간*30FPS)의 정수 부분이 진행해야 할 추가 프레임 부분(a)
4. a값 만큼 현재 애니메이션 프레임을 추가 진행 시킨다.
5. 합계 시간에서 정수 부분(a*1/30FPS))을 빼고 다시 1 부터 다시 진행 한다.