blender python
選択したオブジェクトを回転させる
このスクリプトでは、rotation_timeを10秒に設定しています。これにより、1回転するのに10秒かかり、30秒のアニメーション内で3回転します。適宜この値を変更して、希望するアニメーション速度に調整してください。
import bpy
import math
# ユーザーが選択したオブジェクトを取得
selected_objects = bpy.context.selected_objects
# アニメーションの長さ(秒)
animation_length = 30
# 1回転するのにかかる時間(秒)
rotation_time = 10
# 1秒あたりの回転角度を計算
rotation_angle_per_sec = 360 / rotation_time
# アニメーションを設定
for obj in selected_objects:
# アクティブなオブジェクトに設定
bpy.context.view_layer.objects.active = obj
# 初期フレームを設定
bpy.context.scene.frame_start = 1
# アニメーションの最終フレームを設定
bpy.context.scene.frame_end = int(animation_length * bpy.context.scene.render.fps)
# 回転のキーフレームを設定
obj.rotation_euler = (0, math.radians(0), 0)
obj.keyframe_insert(data_path="rotation_euler", frame=1)
obj.rotation_euler = (0, math.radians(rotation_angle_per_sec * animation_length), 0)
obj.keyframe_insert(data_path="rotation_euler", frame=bpy.context.scene.frame_end)