Я пытаюсь создать 3d-модель из списка координатных данных xyz.Я создал скрипт Python, чтобы создать небольшую сферу и затем скопировать ее для каждой точки данных.К сожалению, программа занимает неоправданно много времени.Я подсчитал, что создание модели займет до 8 дней.Я даже пытался запустить скрипт с Google Compute Engine, но все равно это заняло бы слишком много времени.Есть ли способ создать такую большую модель в разумные сроки?Я открыт для того, чтобы попробовать другие программы, кроме Blender.Как анимационные компании создают огромные модели?Должен быть какой-то способ, верно?
Вот скрипт Python для создания модели:
import bpy
import os
radius = 0.0005
scale = 0.001
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.mesh.primitive_uv_sphere_add(size=radius)
sphere = bpy.context.object
filename = 'points.xyz'
directory = 'C:\\Users\\User1\\Desktop'
fullpath = os.path.join(os.getcwd(), filename)
print("Creating OBJ file")
sphereCount = 1
def makeSphere(x,y,z):
global sphereCount
print("Creating Sphere #" + str(sphereCount))
ob = sphere.copy()
ob.location.x = x
ob.location.y = y
ob.location.z = z
bpy.context.scene.objects.link(ob)
sphereCount += 1
with open(fullpath,"r") as f:
for line in f:
values = line.split()
x = values[0]
y = values[1]
z = values[2]
makeSphere(scale*float(x),scale*float(y),scale*float(z))
bpy.context.scene.update()
#Export as OBJ file
filename = 'finalObject.obj'
directory = '/home/user1'
fullpath = os.path.join(os.getcwd(), filename)
print("Exporting OBJ");
bpy.ops.export_scene.obj(filepath=fullpath)
Я нашел этот вопрос онлайн (https://blender.stackexchange.com/questions/48161/object-made-of-large-number-of-spheres) и попробовал этот подход, но он работал медленнее, чем копирование каждой сферы.