Blender在Python脚本中冻结?

1 投票
1 回答
1416 浏览
提问于 2025-04-18 11:25

我刚接触Blender和Python。

我试着在Blender的脚本控制台里用Python脚本来修改一个物体的属性。

我不明白的是,我可以这样做。

bpy.data.object['Cube'].rotation_euler.x+=1

但是当我把它放进一个循环里。

import time
i=1
while i<100:
   i+=1
   bpy.data.object['Cube'].rotation_euler.x+=1
   print('run once')
   time.sleep(5)

Blender就卡住了,根本没有“运行一次”的输出。有人能告诉我这段代码哪里出问题了吗?

1 个回答

2

你的脚本并没有卡住,其实是因为在循环中,Blender没有机会去更新界面。

这个time.sleep(5)命令会让程序暂停5秒钟,运行100次就意味着整个脚本要花8分钟才能完成,这时候Blender才会再次更新它的界面。

你可以考虑使用一种叫做模态操作的东西——在Blender的文本编辑器里有几个示例可以参考。

撰写回答