【发布时间】:2012-06-22 01:29:35
【问题描述】:
当我运行这个脚本时:
import bpy, time
t0 = time.time()
for i in range(1000):
bpy.ops.mesh.primitive_uv_sphere_add()
if i % 100 == 0:
print(time.time()-t0)
t0 = time.time()
这是输出(指数增长与时间):
1.1920928955078125e-05
0.44658803939819336
0.46373510360717773
0.5661759376525879
0.7258329391479492
0.9994637966156006
1.381392002105713
1.8257861137390137
2.4634311199188232
3.2817111015319824
为什么会这样?有更好的方法吗?
我在具有充足内存的服务器上运行它,并且我知道 Blender 可以扩展以使用它的大部分(它在渲染中)。
【问题讨论】:
-
您是否尝试移动您的球体,或者将它们添加到当前不可见的图层中?我的疯狂猜测是,可能会通过添加球体以某种方式触发重绘,而重绘 1000 个球体可能会减慢进程。
-
这绝对是一个很好的猜测,但我不认为这是正在发生的事情。球体仅在脚本完成时绘制,我看到选定图层和不可见图层的行为相同。
标签: python python-3.x blender blender-2.61