我正在编写一个脚本,该脚本将记录一些用户的操作并回放它们,现在只关注透视相机的移动。通过使用 scriptJob 命令,我可以在设置相机属性后捕获它们,但我理想的脚本将捕获翻滚期间的所有相机移动。有办法做到这一点吗?
当前脚本看起来像这样:
def startRecording():
cmds.scriptJob(attributeChange=["persp.rotate", recordValuesAtTime])
cmds.scriptJob(attributeChange=["persp.translate", recordValuesAtTime])
def playback():
for e in events:
# lerp from starting position to next position for each event
我想你已经差不多了。您只需要在 scriptJob 设置中使用正确的触发事件(在 MEL 中):
scriptJob -event ($triggerEvent) recordVauesAtTime;
其中$triggerEvent可能是cameraChange或glFrameTrigger。您可以使用(也可以是 MEL)获取事件列表:
$list = `scriptJob -listEvents`;
for ($it in $list) {
print ($it+"\n");
}
将通过反复试验来找到最有效的方法,并发出警告,有些人可能真的会用一系列事件来抨击 Maya。
我是一名优秀的程序员,十分优秀!