Spaces:
Running
on
Zero
Running
on
Zero
import numpy as np | |
import bpy | |
from PIL import Image | |
def read_list_from_txt(path): | |
with open(path, 'r') as f: | |
lines = f.readlines() | |
lines = [line.strip() for line in lines] | |
return lines | |
def save_points_as_ply(points, filename): | |
# Define the PLY header | |
# Save the points to a PLY file | |
with open(filename, "w") as f: | |
f.write("ply\n") | |
f.write("format ascii 1.0\n") | |
f.write("element vertex " + str(len(points)) + "\n") | |
f.write("property float x\n") | |
f.write("property float y\n") | |
f.write("property float z\n") | |
f.write("end_header\n") | |
for point in points: | |
f.write("{} {} {}\n".format(point[0], point[1], point[2])) | |
def make_gif(save_name, image_list): | |
frames = [Image.open(image) for image in image_list] | |
frame_one = frames[0] | |
frame_one.save(save_name, save_all=True, append_images=frames[1:], fps=15, loop=0, disposal=2, optimize=False, lossless=True) | |
def clean_scene(): | |
bpy.ops.object.select_all(action='SELECT') | |
bpy_data = [bpy.data.actions, | |
bpy.data.armatures, | |
bpy.data.brushes, | |
bpy.data.cameras, | |
bpy.data.materials, | |
bpy.data.meshes, | |
bpy.data.objects, | |
bpy.data.shape_keys, | |
bpy.data.textures, | |
bpy.data.collections, | |
bpy.data.node_groups, | |
bpy.data.images, | |
bpy.data.movieclips, | |
bpy.data.curves, | |
bpy.data.particles] | |
for bpy_data_iter in bpy_data: | |
for data in bpy_data_iter: | |
bpy_data_iter.remove(data, do_unlink=True) | |