Блендер заморожен в скрипте Python?
Я новичок как в Blender, так и в Python.
Я пытался манипулировать некоторыми свойствами объекта с помощью скрипта Python в консоли скриптов Blender.
Что я не понимаю, так это то, что я могу это сделать.
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 зависает без вывода "Run Once". Кто-нибудь, пожалуйста, скажите мне, что не так с этим кодом.
1 ответ
Решение
Ваш скрипт не зависает, у Blender просто нет возможности обновиться во время цикла.
Команда time.sleep(5) спит в течение 5 секунд, запуск 100 раз означает, что запуск сценария занимает 8 минут, на каком этапе blender обновляет свой интерфейс снова.
Возможно, вы захотите взглянуть на модальный оператор - в шаблонах python есть несколько примеров, доступных в текстовом редакторе blender.