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)
このスクリプトでは、bpy.context.selected_objectsでユーザーが選択したオブジェクトのリストを取得し、それぞれに対してZ軸を中心に指定した角度だけ回転を適用しています。
import bpy
import math
# ユーザーが選択したオブジェクトを取得
selected_objects = bpy.context.selected_objects
# 回転角度をラジアンで指定
rotation_angle = math.radians(45) # 45度回転
# 選択された各オブジェクトに対して回転を適用
for obj in selected_objects:
# アクティブなオブジェクトに設定
bpy.context.view_layer.objects.active = obj
# 回転を適用
bpy.ops.transform.rotate(value=rotation_angle, orient_axis='Z')
基本系 配布 001 単位円 torus と xyz軸 円柱
https://drive.google.com/file/d/1adh0pC0n5MUfaPnsQcab8CnTvHu_JqLg/view?usp=drive_link
基本系 配布 002 単位2長さ balls
https://drive.google.com/file/d/1vyg5oFWmw_TK8nwp5TmVSfLH94I6rTaY/view?usp=drive_link
基本系 配布 003 単位2長さ balls 光時計セット
https://drive.google.com/file/d/1u2Rn_nVBcewe39Vokua9C5n25cdivyyL/view?usp=drive_link
blender 基本系 配布 カタログ 2023 - zionad_mainのブログ https://mokuji000zionad.hatenablog.com/entry/2023/07/31/095208
以下 ChatGPT との対話 修正記録 と メモ・ノート
ああああああああああああああああああああああああああああああああああああああああああああ