import bpy
import random
def random_floats(min, max, size):
return [random.uniform(min, max) for _ in range(size)]
# define a animation length
length = 10
# create a list, which contains 10 random x values
x_values = (random_floats(0, 4, length))
# create a list, which contains 10 random y values
y_values = (random_floats(0, 2, length))
# get selected object
obj = bpy.context.active_object
# animation start frame
start_frame = 1
# frame value
frame_number = start_frame
# keyframe offset
offset = 1
# iterate through length and apply them
for i in range(length):
# set the frame
bpy.context.scene.frame_set(frame_number)
# set new location
obj.location = (x_values[i],y_values[i],0)
# insert keyframe
obj.keyframe_insert(data_path="location", index=-1)
# add offset value
frame_number += offset