ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 최초 입문 5강 part 1 (2023.1.10)
    STUDY: TWA후디니 랭글러 2기 Beginner 2023. 1. 10. 23:01


    논리를 이해하기
    애니메이션(키프레임 & no 키프레임)
    초침이 끊임없이 움직이는 시계 만들기 그리고 똑딱똑딱 움직이는 시계 이론
    똑딱똑딱 움직이는 시계, 디테일에 대한 이론
    Attribute VOP, Attribute Wrangle 기본이해와 비교
    똑딱거리는 시계 이론 마무리 그리고 실습
    VEX
    후디니에서 수학을 알아야하는 이유: 램프 만들기
    램프 만들기 아이디어, if A와 B가 같을 때
    If A와 B가 다를 때, 램프 컨셉 다지기
    램프 뼈대 만들기
    램프 면 작업하기
    FX와 IK에 대하여

    과제:
    끊임없이 움직이는 시계
    -시침이 360도 움직일 때, 분침은 60/360, 6도만큼 움직인다.

    똑딱거리는 시계
    -초침의 반동까지 묘사하기

    램프 만들기
    -좌표 값은 base와 target에만 입력
    -target이 멀어질수록 head의 관심이 줄어든다.
    -target이 가까우면 일정 거리를 두고 비춘다.


    5강 part 1
    시계 애니메이션 CONTROL에 들어가야할 정보
    1. 시각: 파라미터 ST (Start Time)
    - 예시) 3시 30분 48초

    2. FPS: 파라미터 FPS
    - 예시) 24FPS, 40 FPS, 60FPS

    3. 현재 프레임: 파라미터 Frame
    - $F 활용

    4. 시, 분, 초 관계:
    - 파라미터 R_DH (Relation Day Hour)
    - 파라미터 R_HM (Relation Hour Minutes)
    - 파라미터 R_MS (Relation Minutes Second)
    - 파라미터 R_SF (Relation Second Frame)
    - 1바퀴 = 12시간
    - 1시간 = 60분
    - 1분 = 60초
    - 1초 = 24프레임

    파라미터에 값을 직접 입력

    CONTROL에 입력될 값



    도움이 될 변수 파라미터
    - 1프레임 당 시침(H), 분침(M), 초침(S)이 움직이는 각도
    - ST(시작 시간)을 기준으로 구한 시작 각도: S_H, S_M, S_S
    - 최종 시침 각도, 최종 분침 각도, 최종 초침 각도: F_H, F_M, F_S

    각 초침과 분침, 시침이 움직일 때마다 달라지는 시계침들의 위치(각도)



    변수 수식 예시
    시간 예시: 3시간 40분 27초

    초침
    S: 1프레임당 몇 도가 움직이는지
    = (360도) ÷ (60초): 1초에 몇도 움직이는가
    = (360도) ÷ (60초)} ÷ (24프레임): 1프레임에 몇 도를 움직이는가
    = (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

    27초에서 시작해 29초에서 끝날 때



    분침
    Frame 당 분침이 얼마나 이동하는가?

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

    1분➡1초➡1프레임에 분침이 몇 도 움직이는지



    S_H =
    S_M = {ST.y + (ST.z ÷ R_MS)} x (360 ÷ R_MH)
    S_S = ST.z x (360 ÷ R_MS)

    (40 + 27초/60분 = 40.4….분) x 360 ÷ 1시간에 몇 분

    - 초침일 때 시작 각도를 구하는 방법과 분침일 때 시작 각도를 구하는 방법이 다르다.

    01
    초침의 시간이 지나는 만큼 분침이 움직이고 있기 때문에



    F_H =
    F_M = S_M + M + Frame
    F_S = S_S + S x Frame


    시침
    - 분침과 비교했을 때 매우 작게 변하는 각도

    H = [{(360 ÷ R_DH) ÷ R_HM} ÷ R_MS] ÷ R_SF
    M = {(360 ÷ R_HM) ÷ R_MS} ÷ R_SF
    S = (360 ÷ R_HM) ÷ R_MS

    - 프레임당 움직이는 시침의 각도
    - 초당 움직이는 시침의 각도
    - 분당 움직이는 시침의 각도

    시계침의 각도 계산하기



    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_MH)
    S_S = ST.z x (360 ÷ R_MS)

    1 + (30 ÷ 60) + {(30 ÷ 60) ÷ 60}



    F_H = S_H + (H x Frame)
    F_M = S_M + (M x Frame)
    F_S = S_S + (S x Frame)

    ⭐변수를 수식화 할 수 있다면, 어떠한 변수가 되더라도 대응할 수 있다⭐


    CONTROL 노드의 파라미터
    - Setting: ST, FPS, Frame
    - Relation: R_DH, R_HM, R_MS, R_SF
    - Temp_Variables: HMS, S_H, S_M, S_S
    - Result: F_, F_M, F_S

    관계&처리과정 🙆 Attribute VOP, Wrangle(VEX)



    끊임없이 움직이는 시계 만들기
    - 점과 선을 이용하여 시계 시스템(시, 분, 초) 만들기
    - 시계 프레임 만들기

    네트워크뷰에서 파라미터 창 확인하기: P
    x축 방향과 z축 방향으로 회전하는 차이를 이해해야한다.

    시침, 분침, 초침 만들기
    - Add 노드로 점 2개를 연결하여 선을 만든다.
    - 시침, 분침, 초침 3개로 복사한 후, 길이를 다르게 설정

    - 초침은 시계의 중심점을 지나는 가느다랗고 기다란 선으로 (0, 0, 0)에서 기준점에 있는 y값을 아래로 내리고 분침과의 차이를 주기 위해 길이를 줄여준다.
    - 분침은 그대로
    - 시침은 분침보다 짧은 길이의 선으로 길이 값을 내려준다.

    왼쪽부터 초침, 분침, 시침



    - 동일한 좌표에 위치하고 있는 시침, 분침, 초침의 거리 z값을 설정한다.
    - 앞뒤 방향의 구분이 모호하므로 시계침을 하나로 묶는 cap을 만든다.
    - Tube의 크기를 조절하고 [✅End Caps]

    눈금 만들기: Copy Stamp 노드 활용
    - Add 노드로 분침보다 높은 위치에 점 생성하고 Copy with Stamp 연결

    노드의 이름이 다른 건 버전이 다르기 때문일까..?



    - 점을 복제할 때, 시계 반대방향이 되는데 추후에 수정
    - 점을 복제하는 각도에 임의의 숫자(6 = 360 ÷ 60) 입력 추후에 수식으로 수정

    01
    시계 시스템 노드와 결과



    - 시계침이 움직이는 애니메이션을 위해 [Transform] – [Rotation: z값]

    Lock Parameter
    - 현재 바뀔 필요가 없는 속성 잠그기
    - 속성 이름에서 마우스 오른쪽 클릭 – Lock Parameter 하여 한번에 속성값 잠그기
    - 각각의 속성값에서 마우스 오른쪽 클릭 – Lock Parameter


    CLOCK_CONTROL에 파라미터 만들기
    - 폴더 4개: [✅End Tab Group] 하여 개별 그룹으로 생성

    SETTING
    - ST: 시작 시, 분, 초를 입력할 Integer Vector 3 속성 파라미터
    - FPS: Integer 속성 파라미터
    - FRAME: Integer 속성 파라미터

    RELATION: Integer 속성 파라미터
    - R_DH, R_HM, R_MS, R_SF

    TEMP_VARIABLES: Float 속성 파라미터, 연산 가능한 값

    RESULT: Float 속성 파라미터

    시계 시스템 CONTROL의 파라미터



    - 현재시간: 9시 36분 27초
    - FPS: 24
    - FRAME: $F
    - 일반적인 시간값 입력

    12시간, 60분, 60초, 24프레임



    - 파라미터 값을 불러올 때는 function() 기능을 활용해야 한다.
    - 즉, 파라미터 = 채널
    - 프레임에 따라 시침, 분침, 초침이 몇도 움직이는지

    프레임(시간)에 따라 변하는 각도 값



    - 시작시간의 초를 Copy Parameter 하여 변수인 [TEMP_VARIABLES] – [S_S] 파라미터에 Paste Relative References를 하면 어떤 채널 값으로 불러오는지 확인할 수 있다. => ch(STz)

    시작시간이 27초 이므로 27초에 대한 각도
    = ch(STz)*(360/ch(R_MS)) = 162도

    01
    속성명을 클릭하여 현재 수치 확인

      

    - 나머지 분과 시의 시작시간에 대한 각도를 구할 수 있다.

    수식이 엄청나....

     

    끝나는 시간의 각도



    - CONTROL의 끝나는 시간 속성을 Copy Parameter하여 초침, 분침, 시침의 [Transform] – [Rotation: z값]에 Paste Relative References
    - 시계 방향으로 움직이게 하기 위해 수식에 마이너스(-)
    - 시계의 움직임 속도 제어: [SETTING] – [FRAME: $F]에 곱하기

    - Copy with Stamp에 임의로 주었던 값 [Rotation-z: 6]을 RELATION의 R_HM 또는 R_MS 파라미터로 치환할 수 있다.
    - 복제한 개수에도 치환할 수 있다.
    - 예시) 1분이 40초, 1시간이 50분인 시계도 만들 수 있다.

     

    21:36:27 ~ 21:36:37

     

    댓글

Copyright ⓒ 오후