カメラを円を描くように連続的に回転させるだけの短い Maya スクリプトがあります。問題は、スクリプトを実行しようとすると、スクリプトが実行されると、スクリプトを強制終了するまでアプリケーションを閉じることができないことです。私は cmds.refresh() を使用していますが、それは UI を更新するだけで、他の操作 (プログラムを閉じるなど) を遅らせます。手でスクリプトを強制終了できることは理解していますが、コールバックなどを介してプログラムで実行できるようにしたいと考えています。
これが私のコードが今どのように見えるかです:
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)
基本的に、プログラムを閉じるときにスクリプトを自動的に強制終了する "True" の代わりに while() に入れることができるものはありますか? または、まったく別の方法でできることはありますか?