Имам кратък скрипт на 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