2023年3月22日水曜日

aaa
# 16個の球体を10秒間で座標(0, 0, 0)に移動するBlender Pythonスクリプト


import bpy
import math

# オブジェクトを作成する関数
def create_sphere(location, radius):
    bpy.ops.mesh.primitive_uv_sphere_add(location=location, radius=radius)

# アニメーションを設定する関数
def set_animation(obj, start_frame, end_frame, target_location):
    obj.keyframe_insert(data_path="location", frame=start_frame)
    obj.location = target_location
    obj.keyframe_insert(data_path="location", frame=end_frame)

# 16個の球体を作成する
for i in range(16):
    angle = 2 * i * math.pi / 16
    x = 30 * math.cos(angle)
    y = 30 * math.sin(angle)
    z = 30 * math.sin(angle)

    location = (x, y, z)
    radius = 1
    create_sphere(location, radius)
    obj = bpy.context.active_object
    set_animation(obj, 1, 250, (0, 0, 0))




import bpy
import math

# オブジェクトを作成する関数
def create_sphere(location, radius):
    bpy.ops.mesh.primitive_uv_sphere_add(location=location, radius=radius)

# 16個の球体を作成する
for i in range(16):
    angle = 2 * i * math.pi / 16
    x = 30 * math.cos(angle)
    y = 30 * math.sin(angle)
    z = 0
    location = (x, y, z)
    radius = 1
    create_sphere(location, radius)



   # 球体Aの初期位置と移動先の位置を設定
    loc_a_end = (0, 0, 0)




    # アニメーションのフレーム設定を行う
    start_frame = 1  # アニメーションの最初のフレーム
    end_frame_a = int((20 / 3.16227766017) * bpy.context.scene.render.fps)  # 球体Aの移動が終わるフレーム
    bpy.context.scene.frame_start = start_frame  # アニメーションの開始フレームを設定
    bpy.context.scene.frame_end = end_frame_a  # アニメーションの終了フレームを設定

    # キーフレームを設定する
    obj_a.location = loc_a_start  # 球体Aの開始位置を設定
    obj_a.keyframe_insert(data_path="location", frame=start_frame)  # 開始フレームでキーフレームを設定
    obj_a.location = loc_a_end  # 球体Aの終了位置を設定
    obj_a.keyframe_insert(data_path="location", frame=end_frame_a)  # 終了フレームでキーフレームを設定

    # アニメーション再生
    bpy.ops.screen.animation_play()  # アニメーションを再生










   # 球体Aの初期位置と移動先の位置を設定
    loc_a_end = (0, 0, 0)

    # 球体Aを作成し、初期位置を設定する
    bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
    obj_a = bpy.context.object



    # アニメーションのフレーム設定を行う
    start_frame = 1  # アニメーションの最初のフレーム
    end_frame_a = int((20 / 3.16227766017) * bpy.context.scene.render.fps)  # 球体Aの移動が終わるフレーム
    bpy.context.scene.frame_start = start_frame  # アニメーションの開始フレームを設定
    bpy.context.scene.frame_end = end_frame_a  # アニメーションの終了フレームを設定

    # キーフレームを設定する
    obj_a.location = loc_a_start  # 球体Aの開始位置を設定
    obj_a.keyframe_insert(data_path="location", frame=start_frame)  # 開始フレームでキーフレームを設定
    obj_a.location = loc_a_end  # 球体Aの終了位置を設定
    obj_a.keyframe_insert(data_path="location", frame=end_frame_a)  # 終了フレームでキーフレームを設定

    # アニメーション再生
    bpy.ops.screen.animation_play()  # アニメーションを再生




   # 球体Aの初期位置と移動先の位置を設定
    loc_a_end = (0, 0, 0)

    # 球体Aを作成し、初期位置を設定する
    bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=loc_a_start)
    obj_a = bpy.context.object



    # アニメーションのフレーム設定を行う
    start_frame = 1  # アニメーションの最初のフレーム
    end_frame_a = int((20 / 3.16227766017) * bpy.context.scene.render.fps)  # 球体Aの移動が終わるフレーム
    bpy.context.scene.frame_start = start_frame  # アニメーションの開始フレームを設定
    bpy.context.scene.frame_end = end_frame_a  # アニメーションの終了フレームを設定

    # キーフレームを設定する
    obj_a.location = loc_a_start  # 球体Aの開始位置を設定
    obj_a.keyframe_insert(data_path="location", frame=start_frame)  # 開始フレームでキーフレームを設定
    obj_a.location = loc_a_end  # 球体Aの終了位置を設定
    obj_a.keyframe_insert(data_path="location", frame=end_frame_a)  # 終了フレームでキーフレームを設定

    # アニメーション再生
    bpy.ops.screen.animation_play()  # アニメーションを再生









import bpy
import math

# オブジェクトを作成する関数
def create_sphere(location, radius):
    bpy.ops.mesh.primitive_uv_sphere_add(location=location, radius=radius)

# アニメーションを設定する関数
def set_animation(obj, start_frame, end_frame, target_location):
    obj.keyframe_insert(data_path="location", frame=start_frame)
    obj.location = target_location
    obj.keyframe_insert(data_path="location", frame=end_frame)

# 16個の球体を作成する
for i in range(16):
    angle = 2 * i * math.pi / 16
    x = 30 * math.cos(angle)
    y = 30 * math.sin(angle)
    z = 0
    location = (0, 0, 0)
    radius = 1
    create_sphere(location, radius)
    obj = bpy.context.active_object
    set_animation(obj, 1, 250, (x, y, z))







import math

def create_sphere(location, radius):
    x, y, z = location
  


# 16個の球体を作成する
for i in range(16):
    angle = 2 * i * math.pi / 16
    x = 30 * math.cos(angle)
    y = 30 * math.sin(angle)
   z = 30 * math.sin(angle)
    location = (x, y, z)
    radius = 1
    create_sphere(location, radius)





for i in range(16):
    angle = 2 * i * math.pi / 16
    x = 30 * math.cos(angle)
    y = 30 * math.sin(angle)
    z = 0
    location = (x, y, z)
    radius = 1
    create_sphere(location, radius)







bbb

連番 007 未来光円錐 過去光円錐 円周中心からの球体放出

aaa 参考 2023年3月26日日曜日 製作 002b 未来光円錐の方向 線路レールで https://ia2023sha.blogspot.com/2023/03/002b.html import bpy import math zion_co...