1월, 2020의 게시물 표시

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 커브로 되어있기 때문입니다. 이