[9일차] 시계 애니메이션 (3)
똑딱거리는 시계 만들기
새로운 파라미터를 만들어준다.
ch(INTERVAL)은 R_SF이고, 나중에 이름을 바꿔준 것
ch(FRAME)을 ch(COUNT)*ch(R_SF)로 변경해줌
기존에는 $F으로 한프레임마다 값이 변경되었는데, 초수*24를 해줘서 24의 배수(1초)마다 값이 바뀌도록 만들어 준 것
원래는 각도에 (1,2,3,4 ··· 23)이 곱해지면서 23프레임까지도 계속 움직이는데,
초수*24는 각도에 23프레임까지는 0, 24프레임부터 47프레임까지는 1, 48프레임부터 71프레임까지는 2 가 곱해지게 됨
함수 더하기
초침에 반동 주기
F_S = S_S + S x (COUNT x INTERVAL) + Value(반동)
1. 선을 만들고 Carve로 Point0가 DECI값에 따라 움직이게 만든다. 그리고 그 점을 떼어낸다.
2. 1에서 만든 점에 attribute를 주고 CONTROL 노드에 load
3. CONTROL 노드에서 필요한 몇 가지 파라미터들을 더 만들어 주고 F_S를 보정해준다.
point expression function
point(surface_node, point_number, attribute, indx)
surface_node에는 어떤 노드에서 정보를 불러 오고 싶은지
point_number에는 불러온 노드 중 몇 번 점
attribute에는 요구한 점에서 어떤 속성의 값을 알고 싶은지
index에는 attribute 중 몇 번 째 정보를 줄지
조건을 충족 하지 않으면 0 값이 나오게 됨
point( "/obj/geo1/box1", 3, "P" , 0 )
obj의 geo1의 box1 노드에서 3번 점의 position 값(x,y,z) 에서 0번인 x 값을 불러와 주세요.
*주소 입력할 때
ch("/obj/CLOCK/CONTROL/C")
= ch("../CONTROL/C")
위의 주소는 Absolute References 이고 아래는 Relative References
CLOCK이라는 geo 안에 있는 box의 uniform scale에 입력을 할 때 이런 식으로 ../을 한번만 써주면 된다. 한번만 하면 CLOCK
box가 다른 geo(geo2)에 있다면, ch("../../geo2/CONTROL/C") 이런 식으로 ../을 두 번 적어줘야함. 두 번 하면 obj
반동을 위한 그래프 만들어주기
0과 1에 포인트 하나씩 만들어서 선 만들어주고,
subdivide 노드로 선을 쪼개주기 (depth 4)
점의 위치를 이동 시키기 위해 select mode로 만들어주기 키보드 S, move를 활용하기 위해 키보드 T
S로 점을 잡고 T를 누르면 자동으로 edit 노드가 생성됨
S로 점을 잡고 다시 S를 누르면 방금 전에 이용했던 툴로 변경됨 (방금 전에 사용한 T)
이런 형태로 선 수정해주고, convert로 NURBS Curve로 만들어주기
carve 노드의 First U 값에 앞서 만들어 두었던 DECI 값을 불러와
0에서 1로 점이 반복적으로 이동하게 만들어 준다.
Attribute Wrangle
float VIBE라는 새로운 어트리뷰트는 vector인데 Position y 값을 불러올 것이다 ; (세미콜론으로 잘 닫아주기)
CONTROL 노드에 새로운 VALUE 파라미터 아래와 같이 만들어주기
SET VIBE는 Attribute Wrangle에 정해준 이름
VIBE의 값은 하나밖에 없으므로 index는 0으로 해주면 된다.
F_S에 ch(VALUE)를 더해주면 초침에 반동을 더해줄 수 있다!
MULT라는 파라미터 하나 더 생성해서 F_S의 ch(VALUE)에 *ch(MULT)를 해주면 진폭을 더 늘리게 만들어 줄 수 있음
add로 만든 선과 control을 외부 fbx파일에 그대로 붙여넣으면 완성!
똒딲똒딲
+++
point 함수가 특정 점의 값을 불러오는 거라면 굳이 attribute wrangle로 어트리뷰트를 하나 더 만들지 않고 그냥 포인트 y 값을 불러와도 똑같이 적용되야하지 않나 싶어서 한번 해봤다.
blast 아래에 null을 하나 연결해두고,
VALUE에 point("../null1",0,"P",1) 라고 입력해서 적용하니 똑같이 적용이 된다!
(맞겠지?)
너무 잘 설명해주셔서 내용을 이해하는 것 자체에는 문제가 없는데, 이런 원리들을 활용해서 다른 무언가를 만들 때 적용시킬 수 있을지는 모르겠다.. 계속 하다보면 할 수 있겠지?