我想创建一个MEL脚本来创建场景,设置ncloth和被动对撞机对象并将模拟运行到某个帧。
在脚本编辑器中,我可以看到场景设置,但没有启动模拟的功能。
答案 0 :(得分:2)
@Andreas建议的技术有时被称为"命令收获"。这是了解Maya正在做什么以及如何做事的好方法。但要回答你的具体问题:
您可以使用cmds.play()
开始在Maya上播放。 See the docs for options
您可能希望使用cmds.playbackOptions()
命令设置播放范围的开始帧和结束帧。 See the docs for options
所以你会这样做:(添加了相关的解释性评论)
# egs. to play from frame 1 to 120
# also note that the playbackSpeed flag is used
# we need to set this to 0 to "play every frame".
# setting maxPlaybackSpeed to 0 will result in free playback, so the playback isn't clamped.
# At this point, playback wouldn't be realtime, but it will be accurate.
# Dynamics and simulations must be played back like this or the nucleus will not evaluate properly.
cmds.playbackOptions(animationStartTime=1, animationEndTime=120, playbackSpeed=0, maxPlaybackSpeed=0)
# now start playback
cmds.play(forward=True)
编辑:我刚注意到你曾要求过MEL命令。只需按照上面的命令和MEL-ify,就像这样:
playbackOptions -e animationStartTime 1 animationEndTime 120 playbackSpeed 0;
play -f 1;
建议:最好播放此播放以便以正确的fps和播放速度观看。
希望这很有用。
答案 1 :(得分:1)
在脚本编辑器中,您可以告诉Maya“回显所有命令”。如果启用它,然后在UI中执行某些操作,它将在脚本编辑器中输出所有MEL命令。
答案 2 :(得分:1)
我尝试使用bakeSimulation将SIM转换为普通的顶点动画。然后,您可以将时间提前到所需的时间并以这种方式导出OBJ。
这将在执行后禁用模拟 - 它有助于获得结果但不能编辑它们。