2023年8月10日木曜日

20230811 円周中心の球体







blender python


球体を作る

半径0.1

中心000


名前 球体(x,y,z)





bing


import bpy


# Set the radius and location of the sphere

radius = 0.1

location = (0, 0, 0)


# Create a new mesh with the given radius

mesh = bpy.data.meshes.new("Sphere")

bpy.ops.object.select_all(action='DESELECT')

bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=location)


# Set the name of the sphere object

sphere = bpy.context.active_object

sphere.name = "Sphere({},{},{})".format(*location)




import bpy


# 球体の半径と中心座標を設定

radius = 0.1

center = (0, 0, 0)


# 球体を作成

bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=center)


# 球体のオブジェクトを取得

sphere = bpy.context.active_object


# 名前を設定

sphere.name = "球体({}, {}, {})".format(center[0], center[1], center[2])






 

基本系 配布 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 





20230810 再編集 球体1つを動かす





「単品配布 20230810 基本系 単位円 円周と直径を動く 4つの球体.blend」を共有

https://drive.google.com/file/d/1plIzByxW5Fd7unj8oWjuW4j-7eFsWqbT/view?usp=sharing




import bpy


# 初期設定

radius = 0.07

start_position = (-1, 0, 0)

end_position = (1, 0, 0)

animation_duration = 10  # 移動アニメーションの時間(秒)

stop_duration = 0  # 停止アニメーションの時間(秒)

repeat_count = 5  # アニメーションの繰り返し回数


# フレーム数を設定

bpy.context.scene.frame_end = (animation_duration + stop_duration) * repeat_count * bpy.context.scene.render.fps


# 球体を作成

bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=start_position)

sphere = bpy.context.active_object


# アニメーションを設定

for repeat in range(repeat_count):

    for frame in range(int((repeat * (animation_duration + stop_duration) * bpy.context.scene.render.fps)) + 1,

                       int(((repeat + 1) * (animation_duration + stop_duration) * bpy.context.scene.render.fps)) + 1):

        bpy.context.scene.frame_set(frame)

        x_offset = (frame - repeat * (animation_duration + stop_duration) * bpy.context.scene.render.fps) * (

                    2.0 / (animation_duration * bpy.context.scene.render.fps))

        sphere.location.x = start_position[0] + x_offset

        sphere.keyframe_insert(data_path="location", frame=frame)


# アウトライナで全てのオブジェクトを選択解除

bpy.ops.object.select_all(action='DESELECT')





import bpy


# 初期設定

radius = 0.07

start_position = (1, 0, 0)

end_position = (-1, 0, 0)

animation_duration = 10  # 移動アニメーションの時間(秒)

stop_duration = 0  # 停止アニメーションの時間(秒)

repeat_count = 5  # アニメーションの繰り返し回数


# フレーム数を設定

bpy.context.scene.frame_end = (animation_duration + stop_duration) * repeat_count * bpy.context.scene.render.fps


# 球体を作成

bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=start_position)

sphere = bpy.context.active_object


# アニメーションを設定

for repeat in range(repeat_count):

    for frame in range(int((repeat * (animation_duration + stop_duration) * bpy.context.scene.render.fps)) + 1,

                       int(((repeat + 1) * (animation_duration + stop_duration) * bpy.context.scene.render.fps)) + 1):

        bpy.context.scene.frame_set(frame)

        x_offset = (frame - repeat * (animation_duration + stop_duration) * bpy.context.scene.render.fps) * (

                    2.0 / (animation_duration * bpy.context.scene.render.fps))

        sphere.location.x = start_position[0] + x_offset

        sphere.keyframe_insert(data_path="location", frame=frame)


# アウトライナで全てのオブジェクトを選択解除

bpy.ops.object.select_all(action='DESELECT')