Super Kawaii Cute Cat Kaoani blender에서 keyframe들 scaling 시키기 (Timeline 창, 코드 이용)

연구/Blender

blender에서 keyframe들 scaling 시키기 (Timeline 창, 코드 이용)

치킨고양이짱아 2023. 7. 18. 15:12
728x90
728x90

blender에서 keyframes들을 일정한 비율로 늘리거나 줄여 keyframe 총 개수를 바꾸는 방법이다.

방법1: Blender 창에서 하는 방법

1) Timeline 창 띄우기

위와 같이 창을 띄우면 animation 정보가 Timeline 창에 나타난다.

키보드 A를 누르면 모든 animation 전체가 클릭된다.

2) scaling 시키기

참고로 현재 frame을 기준으로 scaling 된다. 보통의 경우 current frame을 첫번째 frame으로 맞춰놓고 사용하면 된다.

키보드 S 버튼을 누르면 기준 frame(현재 frame)을 기준으로 마우스 커서의 위치에 따라 원하는 만큼 scaling 시킬 수 있다. 커서를 이리저리 옮기면서 원하는 만큼 keyframe들이 scaling 되었다면, 마우스를 좌클릭하여 scaling 작업을 종료하면 된다.

방법2: 코드(Script)로 하는 방법

코드로도 위의 작업을 동일하게 진행할 수 있다.

import bpy

object_name = "object_name" # scaling하고 싶은 keyframes이 담겨있는 object의 이름
scaling_factor = 2.0 # 얼마만큼 scaling하고 싶은지. 2.0으로 설정하면 keyframe 개수가 2배가 된다. 

bpy.context.scene.frame_set(1) # 현재 frame을 첫번째 frame으로 맞춰주기
bpy.data.objects[object_name].select_set(True) # scaling하고 싶은 object를 선택하기 

bpy.context.area.ui_type = 'TIMELINE' # timeline창으로 바꿔주기
bpy.ops.action.select_all(action='SELECT') # keyframe들 선택해주기
bpy.ops.transform.transform(mode='TIME_SCALE', value=(scaling_factor, 0, 0, 0), orient_axis='Z', orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements=set(), use_snap_project=False, snap_target='CLOSEST', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False)
728x90
728x90