25 lines
606 B
Python
25 lines
606 B
Python
import bpy
|
|
from mathutils import *
|
|
from math import *
|
|
import abc3d.butils
|
|
|
|
v = 0
|
|
goal = 5.0
|
|
step = 0.1
|
|
speed = 1.0
|
|
|
|
C = bpy.context
|
|
obj = C.scene.objects['Cube']
|
|
curve = C.scene.objects['BézierCurve']
|
|
|
|
m = curve.matrix
|
|
|
|
def fun(distance):
|
|
obj.location = m @ abc3d.butils.calc_point_on_bezier_curve(curve,
|
|
distance,
|
|
output_tangent=True)
|
|
print(f"executed {distance}")
|
|
|
|
while v < goal:
|
|
bpy.app.timers.register(lambda: fun(v), first_interval=(v * speed))
|
|
v += step
|