У меня есть короткий скрипт Maya, который просто непрерывно вращает камеру по кругу. Проблема в том, что когда я пытаюсь запустить скрипт, после его запуска я не могу закрыть приложение, пока не убью скрипт. Я использую cmds.refresh(), но это только обновляет пользовательский интерфейс и по-прежнему задерживает другие операции (например, закрытие программы). Я понимаю, что могу просто убить скрипт вручную, но я хотел бы иметь возможность делать это программно через обратные вызовы или что-то в этом роде.
Вот как выглядит мой код прямо сейчас:
import sys
import time
import maya.cmds as cmds
import maya.api.OpenMayaUI as omui
view = omui.M3dView.active3dView()
currentCamera = view.getCamera()
while(True):
cmds.orbit(currentCamera, ha = 1)
view.setCamera(currentCamera)
cmds.refresh()
time.sleep(.01)
В принципе, есть ли что-то, что я могу поместить в while () вместо «True», что автоматически убьет скрипт, когда вы закроете программу? Или что-то, что я мог бы сделать по-другому вообще?
camera
? Вы имели в видуcurrentCamera
вместо этого? - person matthewatabet   schedule 03.08.2015