void PostList()

회전 루프 애니메이션 만들기 ( Graph Editor F-Curve Modifiers )


종종 특정 본을 일정한 방향으로 계속 회전시켜야할 일이 생깁니다.

차에 달린 바퀴나 기계안의 톱니바퀴, 그리고 위 이미지의 날개 팬이 그렇죠.


0프레임에서 y축 rotation 값을 0 으로 키프레임 설정하고,

한 몇십 프레임에서 y축 rotation 값을 360 으로 키프레임 설정하면 한바퀴 회전은 잘 되지만,

한바퀴 이후에 다시 회전하지 않고 멈춰버리게 됩니다.

그렇다고 Action 의 끝 프레임에 커다란 숫자를 넣으면 한 액션 내에서 회전은 많이 일어나겠지만, 당연히 문제가 있습니다.

회전 속도도 직관적으로 안느껴지는 문제와 더불어 나중에 Action 의 총 프레임 수를 변경하는 일이 생기면 다시 수치를 수정해야할 일도 생기고 말이죠.

이를 해결하기 위한 하나의 방법으로 F-Curve Modifiers 가 있습니다.




예시로 뼈 하나가 리깅된 큐브를 들고 왔습니다.

먼저 회전하고자 하는 축을 확인합니다.
여기서는 파란 축, Z 축을 기준으로 계속 회전하고 싶었습니다.

그리고 0 프레임에서 Rotation 의 Z 값이 0인 상태에서 키프레임을 하나 만들고
한 20프레임 정도에서 Rotation 의 Z 값을 360 으로 설정하고 키프레임을 만들었습니다.

이 프레임 간격이 좁을수록 한 Action에서 한번에 회전하는 양, 즉 각속도가 빨라집니다.



이 상태에서 재생을 해보면 단 한번 회전 후 그대로 멈춰버립니다.

키프레임 복사-붙여넣기를 반복해서 계속된 회전을 만들수도 있지만,
피곤한 노가다입니다. 나중에 수정하기도 힘들고.


그러므로 Graph Editor 에서 회전축에 해당하는 채널을 선택하고,
우측 modifier 창에서 Add Modifier 에서 Cycle 을 선택합니다.
그러면 위와같이 회전 루프가 자동으로 만들어집니다.

하지만 이상태에서는 한번 회전할때마다 멈칫멈칫하는걸 볼수 있는데,
이는 키 프레임간 보간이 Bezier 커브로 되어있기 때문입니다.


이를 해결하는 방법은 두가지입니다.

1. 두 키프레임을 선택한 후 Handle Type 을 Vector 로 바꾸기.
2. 두 키프레임을 선택한 후 Interpolation Mode 를 Linear 로 바꾸기.

전자는 그래프의 Bezier 커브를 컨트롤하는 핸들의 배치 방식을 바꾸는 방법입니다.
여전히 보간 방법은 Bezier 커브에 기반한 보간방법을 사용하지만 각 키프레임의 곡선의 모양을 다루는 핸들을 마치 선형 보간한 것처럼 배치하여 선형적인 움직임을 만들어주죠.

후자는 아예 그래프의 보간 방식을 선형으로 만들어주는 방법입니다.
두 점 사이를 직선으로 이어버려 시간에 따라 일정하게 변하는 단순한 보간 방법이죠.

상황에 따라서 골라 쓰면 위와같이 무한 회전 루프 애니메이션을 만들어 낼 수 있습니다.

키프레임의 Handle Type 과 Interpolation Mode 에 대한 자세한 설명은 아래 링크를 참고하면 좋습니다.
https://docs.blender.org/manual/en/latest/editors/graph_editor/fcurves/introduction.html

P.S.


Modifier 는 여러개를 같이 적용할 수 있습니다.

위 이미지처럼 Cycle 과 동시에 Noise 를 적용하여 꼬리 떨림을 만들어 낼수도 있죠.

기타 Modifier 는 아래 링크를 참고하면 좋습니다.
https://docs.blender.org/manual/en/latest/editors/graph_editor/fcurves/modifiers.html

댓글

이 블로그의 인기 게시물

Array Modifier 로 오브젝트를 원형으로 나열하기

원형으로 뚫려있는 구멍을 토폴로지 흐름에 맞게 채우기.