본문 바로가기

Houdini Basic

[7일차] 시계 애니메이션 (1)

파라미터 설정

시각 ST (Start Time)

현재프레임 Frame

시, 분 초 관계 : 시침 1바퀴 = 12시간, 1시간 = 60분, 1분 = 60초, 1초 = 24 프레임  R_DH, R_HM, R_MS, R_SF

 

1프레임당 시침, 분침, 초침이 움직이는 각도 H, M, S

ST를 기준으로 구한 시작 각도 S_H, S_M, S_S

최종 각도 F_H, F_M, F_S

최종각도 = 시작 각도 + 각 침이 움직이는 각도 x 현재 프레임

 

초침이 1프레임동안 움직이는 각도 :  (360 ÷ 60 ) ÷ 24 

S = (360 ÷ R_MS) ÷ R_SF

 

S_S = (ST 변수의 Z값) x (1초에 몇도) 

       = 27 x (360 ÷ 60) = ST.z X (360 ÷ R_MS)

 

F_S = S_S + S x Frame

 

분침이 1프레임동안 움직이는 각도 :  ((360 ÷ 60 ) ÷ 60 ) ÷ 24 

M = {(360 ÷ R_HM) ÷ R_MS } ÷ R_SF

 

S_M = (40 +27/60) x (360 ÷ 60)

27초 -> 27/60분

= ( ST변수의 y값 + ST변수의 z값 / 1분에 몇초 ) x (1분에 몇도)

= {ST.y + (ST.z/R_MS)} X (360 ÷ R_HM)

 

시침이 1프레임동안 움직이는 각도 : (((360 ÷ 12) ÷ 60) ÷ 60) ÷ 24

 

S_H = (3 + 40/60 + (27/60)/60) x (360 ÷ 12)

27초 -> (27/60)/60 시간, 1시간에 몇 도 움직이는지를 곱해줘야함

 

-

H = (((360 ÷ R_DH) ÷ R_HM) ÷ R_MS)÷ R_SF

M = ((360 ÷ R_HM) ÷ R_MS ) ÷ R_SF

S = (360 ÷ R_MS) ÷ R_SF

 

S_H = [{ST.x + (ST.y/R_HM) + {(ST.z/R_MS)/R_HM}] x (360 ÷ R_DH)

S_M = {ST.y + (ST.z/R_MS)} x (360 ÷ R_HM)

S_S = ST.z X (360 ÷ R_MS)

 

F_H = S_H + (H x Frame)

F_M = S_M + (M x Frame)

F_S = S_S + (S x Frame)

 

 

 

 

한시간에 60분, 1분에 60초, 1초에 24프레임인 게 변하지 않는다고 했을 때, 좀 더 한눈에 알아보기 쉽게 만들어봤다.

 

시계에서 돌아가는 점 60개를 만들어주는데,

강의에서는 copy stamp로 만드는데 새 버전에서는 없어진 것 같고 copy and transform 라는 노드로 똑같이 작업할 수 있었다.

 


저번 시간에 시계를 만들어봐라 했을 때는 시작 시간에 대한 개념을 전혀 고려하지 않았었고, 분침의 각도에  '몇 분' 인지만 생각했었는데  '몇 초'까지 더해줘야한다는 사실도 간과했었다.

저번 시간에 생각했던 건

$F x (360/60/24) = $F x (1/4) 여서

초침에는 0,-$F/4,0  까지를 rotation에 넣어줬었다. ch(S)*ch(FRAME) 까지만 생각했었던 것..!

 

각 값들 간의 관계를 고려하고 파라미터를 제작하는 게 어려웠지만 잘 이해하고 활용하면 작업을 더 효율적으로 할 수 있을 것 같다.

 

'Houdini Basic' 카테고리의 다른 글