import bpy
import math
from mathutils import Vector
zion_speed_round = 0.1 # 回転速度を設定する
radius = 60 # 半径を設定する
height = 60 # 高さを設定する
distance_per_frame = 0.05 # 移動する距離を指定する
zion_sakasa_teimen = 0 # z軸 高さ
# 円錐を作成する
bpy.ops.mesh.primitive_cone_add(radius1=0, radius2=radius, depth=height)
cone = bpy.context.object
cone.name = "Cone"
cone.location = Vector((0, 0, zion_sakasa_teimen + (height/2) )) # 初期位置を設定する
# 時間を表すフレーム数の初期値を設定する
frame_num = 0
# 毎フレーム呼び出される関数
def animate_cone(scene):
global frame_num
# 現在のフレーム数から円錐の位置を計算する
z = frame_num * distance_per_frame
cone.location = Vector((0, 0, z))
# 円錐を回転する
cone.rotation_euler[2] += zion_speed_round
# フレーム数を1増やす
frame_num += 1
# フレーム更新のコールバック関数を登録する
bpy.app.handlers.frame_change_pre.append(animate_cone)