2023年4月7日金曜日

 


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)



改良中 y=-30 中心 円周への球体36個

できた y= -30 中心で z=0平面移動  import bpy import math zion_collection_name = "線路レール 観察者" # コレクションを作成する col = bpy.data.collections.new(zio...