是否可以使用CMD在活动的Maya窗口中发送命令?

问题描述 投票:0回答:1

我是一个初学者在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中的任何解决方案,也可以放在这里!

有什么方法可以在不指定打开的文档路径的情况下做到这一点吗?

python cmd maya mel
1个回答
2
投票

你有四个基本选项来控制maya的程序。

  1. 在maya的脚本编辑器里面运行脚本。 这需要你有一个开放的GUI maya实例运行,你会自己键入命令,或者通过在脚本编辑器中加载和执行它们来启动脚本。 这对于自动化重复性任务来说很好,但需要您手动干预。

  2. 您可以通过 TCP 连接向 Maya 发送单个命令,使用的是 玛雅命令端口 这基本上就像通过telnet连接到另一台计算机:您可以控制Maya会话,但您将完全通过文本进行通信。 例如,人们通常使用它来进行 在Sublime Text中编写脚本,以在Maya中测试它们,而无需切换窗口。

  3. 您可以运行一个只有命令行的 Maya 副本。使用MayaPy python解释器,该解释器随Maya和 maya.standalone 模块,它承载了一个非GUI的Maya会话。. 这使您可以在Maya中执行python命令,而完全不需要GUI -- 这是自动化任务的常用工具。

  4. 您可以 在启动时用'-c'(代表 "命令")标志向Maya传递一个脚本参数。. Maya将打开并运行该脚本。由于传统的原因,这些命令只有MEL,而不是python,但您可以通过使用MEL命令 "python "以及带引号的Python命令来解决这个问题。

所有这些命令都很有用,正确的命令取决于你需要做什么。然而对于长期运行的任务来说#3可能是最可靠的方法,因为它很容易迭代和测试。

© www.soinside.com 2019 - 2024. All rights reserved.