import bpy
import math
# コレクション名
collection_name = "eeeee"
# コレクションを取得する
collection = bpy.data.collections.get(collection_name)
# コレクションが存在しない場合は作成する
if not collection:
collection = bpy.data.collections.new(collection_name)
bpy.context.scene.collection.children.link(collection)
# 球体の半径
radius = 1.0
# 球体の位置
pos_x = 30.0
pos_y = 0.0
pos_z = 0.0
# 球体を作成する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=(pos_x, pos_y, pos_z))
# 球体オブジェクトを取得する
sphere = bpy.context.object
# コレクションにオブジェクトを追加する
collection.objects.link(sphere)
# 球体のアニメーション設定
start_frame = 1
end_frame = int(30 * bpy.context.scene.render.fps) # 30秒分のフレーム数
bpy.context.scene.frame_start = start_frame
bpy.context.scene.frame_end = end_frame
# キーフレームを設定する
for frame in range(start_frame, end_frame + 1):
# 球体の回転角度を計算する
angle = (frame - start_frame) * 2 * math.pi / (bpy.context.scene.render.fps * 16)
# 球体の位置を計算する
pos_x = 30.0 * math.cos(angle)
pos_y = 30.0 * math.sin(angle)
pos_z = 0.0
# 現在のフレームにおけるオブジェクトをアクティブにする
bpy.context.scene.frame_set(frame)
sphere = bpy.context.active_object
# 球体の位置を更新してキーフレームを設定する
sphere.location = (pos_x, pos_y, pos_z)
sphere.keyframe_insert(data_path="location", frame=frame)
import bpy
import math
# コレクション名
collection_name = "eeeee"
# コレクションを取得する
collection = bpy.data.collections.get(collection_name)
# コレクションが存在しない場合は作成する
if not collection:
collection = bpy.data.collections.new(collection_name)
bpy.context.scene.collection.children.link(collection)
# 球体の半径
radius = 1.0
# 球体の位置
pos_x = 30.0
pos_y = 0.0
pos_z = 0.0
# 球体を作成する
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=(pos_x, pos_y, pos_z))
# コレクションにオブジェクトを追加する
collection.objects.link(sphere)
# 球体のアニメーション設定
start_frame = 1
end_frame = int(16 * bpy.context.scene.render.fps) # 16秒分のフレーム数
bpy.context.scene.frame_start = start_frame
bpy.context.scene.frame_end = end_frame
# キーフレームを設定する
for frame in range(start_frame, end_frame + 1):
# 球体の回転角度を計算する
angle = (frame - start_frame) * 2 * math.pi / (bpy.context.scene.render.fps * 16)
# 球体の位置を計算する
pos_x = 30.0 * math.cos(angle)
pos_y = 30.0 * math.sin(angle)
pos_z = 0.0
# 球体の位置を更新してキーフレームを設定する
bpy.context.object.location = (pos_x, pos_y, pos_z)
bpy.context.object.keyframe_insert(data_path="location", frame=frame)
import bpy
# コレクション名
collection_name = "eeeee"
# コレクションを取得する
collection = bpy.data.collections.get(collection_name)
# コレクションが存在しない場合は作成する
if not collection:
collection = bpy.data.collections.new(collection_name)
bpy.context.scene.collection.children.link(collection)
# 球体を作成する
sphere_radius = 1.0
bpy.ops.mesh.primitive_uv_sphere_add(radius=radius, location=(pos_x, pos_y, pos_z))
sphere = bpy.context.object
# コレクションにオブジェクトを追加する
collection.objects.link(sphere)
# アニメーションのフレーム設定を行う
start_frame = 1 # アニメーションの最初のフレーム
end_frame = int(16 * bpy.context.scene.render.fps) # アニメーションの終了フレーム
bpy.context.scene.frame_start = start_frame # アニメーションの開始フレームを設定
bpy.context.scene.frame_end = end_frame # アニメーションの終了フレームを設定
# キーフレームを設定する
sphere.rotation_euler = (0, 0, 0) # 球体の初期回転を設定
sphere.keyframe_insert(data_path="rotation_euler", frame=start_frame) # 開始フレームでキーフレームを設定
sphere.rotation_euler = (0, 0, 2 * 3.14) # 球体の終了回転を設定
sphere.keyframe_insert(data_path="rotation_euler", frame=end_frame) # 終了フレームでキーフレームを設定
# コレクションを取得する
collection = bpy.data.collections.get(collection_name)
# コレクションが存在している場合
if collection:
# 表示/非表示を切り替える
if collection.hide_viewport:
collection.hide_viewport = False
else:
collection.hide_viewport = True
bbb