我是一个初学者在Maya,我想运行命令的cmd在活动窗口的maya修改的东西在场景中,像把一个球体,例如,在python的
from pymel.all import *
sphere()
或MEL
polySphere -r 1 -sx 20 -sy 20 -ax 0 1 0 -cuv 2 -ch 1;
我找到了mayapi,找到了几个与 "无头 "相关的内容(没有GUI),但我还没有找到任何可以在打开的窗口中运行的内容,可能是我对这些术语不是很了解。我希望能用python来实现,但如果你知道MEL中的任何解决方案,也可以放在这里!
有什么方法可以在不指定打开的文档路径的情况下做到这一点吗?
你有四个基本选项来控制maya的程序。
在maya的脚本编辑器里面运行脚本。 这需要你有一个开放的GUI maya实例运行,你会自己键入命令,或者通过在脚本编辑器中加载和执行它们来启动脚本。 这对于自动化重复性任务来说很好,但需要您手动干预。
您可以通过 TCP 连接向 Maya 发送单个命令,使用的是 玛雅命令端口 这基本上就像通过telnet连接到另一台计算机:您可以控制Maya会话,但您将完全通过文本进行通信。 例如,人们通常使用它来进行 在Sublime Text中编写脚本,以在Maya中测试它们,而无需切换窗口。
您可以运行一个只有命令行的 Maya 副本。使用MayaPy python解释器,该解释器随Maya和 maya.standalone
模块,它承载了一个非GUI的Maya会话。. 这使您可以在Maya中执行python命令,而完全不需要GUI -- 这是自动化任务的常用工具。
您可以 在启动时用'-c'(代表 "命令")标志向Maya传递一个脚本参数。. Maya将打开并运行该脚本。由于传统的原因,这些命令只有MEL,而不是python,但您可以通过使用MEL命令 "python "以及带引号的Python命令来解决这个问题。
所有这些命令都很有用,正确的命令取决于你需要做什么。然而对于长期运行的任务来说#3可能是最可靠的方法,因为它很容易迭代和测试。