通过javascript连接到Maya

时间:2013-01-22 03:06:29

标签: javascript python web-applications maya

我正在开发一个向Maya发送命令的应用程序,就像iOS应用程序CameraMan一样。但是,我正在寻找一种方法来制作这种基于Web的方法,而不是构建本机应用程序。我相信这可以做到,但我仍然坚持如何建立初始连接。 Maya创建一个可通过特定IP地址访问的命令端口:端口号。我可以从Eclipse发送命令,例如,甚至是短的python脚本。我在本机应用程序中看到了这个,但是如何通过Javascript实现这一点?

Maya确实提供了这样做的浏览器插件,但当然它是一个插件,不能在移动浏览器上运行,也不能根据我想要的确切应用进行自定义。

作为背景知识,我掌握了Javascript,Python和MEL脚本的基本知识。

更新:我应该指明我不打算通过互联网控制Maya。相反,我正在寻找一种通过本地网络建立连接的方法,在那里我知道ip地址,就像我上面引用的CameraMan应用程序一样(只是不作为本机应用程序)。

更新2:不幸的是,这个项目在这一点上有点不禁。我没有意识到的是,为了在Maya“服务器上启用websockets”,我需要实现一些第三方库。适合个人使用,但如果我想为其他人发布工具则不行。

1 个答案:

答案 0 :(得分:2)

一切皆有可能,可能不实用,或者在这种情况下,Autodesk的许可证可能是一个小问题。首先让我们更好地定义JavaScript,请参阅JavaScript是一种编程语言,嵌入式JavaScript的Web浏览器受浏览器的约束。它不是关于JavaScript的一般性问题,不是所有JavaScript都在浏览器中运行。由浏览器和浏览器的安全规则约束的Web浏览器中的JavaScript通常不能仅使用网页和服务器内的数据与整个系统通信。因此,为了使浏览器中的java脚本与Maya通信,您需要一个服务器连接。

将Maya包装为Web服务器是可能的,我已经在过去使用mel完成了。使用python进行操作会更容易。您可以在CreativeCrash上找到现有的演示代码,更难以概念证明。除了对开放场景进行内省之外,您无法使用该演示。与某些帖子所说的相反,代码应该按原样运行。它很难远程调试人们的防火墙,因为除非另有说明,否则大多数防火墙软件都会阻止服务器,许多用户会通过覆盖阻止整个Maya与外部世界隔离,所以一定要仔细检查这些东西。

或者你可以把现有的java脚本telnet工具和telnet连接到一个非过滤的Maya命令端口,然后在Maya中直接调用mel / python。像anyterm这样的东西符合要求。我之前使用手机ssh应用程序成功使用了Maya,以便在我的假期修复脚本错误。如果您只需要编程访问,这可能是一个更容易的攻击向量。

当您执行此类操作时,请确保您了解此处涉及大安全问题。 Maya拥有对系统的完全用户访问权限,通常是完全管理员权限。 Maya可以在用户级别调用计算机上的所有内容,因此不会阻止攻击者远程接管整个计算机。

PS:老实说,通过私有虚拟网络使用远程桌面或VNC可能是很多更好的选择。