1

iOSアプリCameraManのように、Mayaにコマンドを送信するためのアプリに取り組んでいます。ただし、ネイティブアプリを作成するのではなく、このWebベースを作成する方法を探しています。これは可能だと思いますが、最初の接続方法に固執しています。Mayaは、特定のIPアドレス:ポート番号を介してアクセスできるコマンドポートを作成します。たとえば、Eclipseからコマンドを送信したり、短いPythonスクリプトを送信したりすることもできます。ネイティブアプリでこれが実際に動作しているのを見てきましたが、Javascriptを使用してこれを行うにはどうすればよいですか?

Mayaはこれを行うブラウザプラグインを提供していますが、もちろんこれはプラグインであり、モバイルブラウザでは機能しません。また、作成しようとしているアプリケーションに合わせてカスタマイズすることもできません。

背景として、私はJavascript、Python、およびMELスクリプトの基本的な知識を持っています。

更新:インターネット経由でMayaを制御するつもりはないことを指定する必要があります。むしろ、上記で参照したCameraManアプリのように(ネイティブアプリとしてではなく)、IPアドレスがわかっているローカルネットワークを介して接続する方法を探しています。

更新2:残念ながら、このプロジェクトは現時点では少し失敗です。私が気付いていなかったのは、Mayaの「サーバー」でWebSocketを有効にするには、サードパーティのライブラリを実装する必要があるということでした。個人使用には問題ありませんが、他の人のためにツールをリリースしようとしている場合は問題ありません。

4

1 に答える 1

2

すべてが可能であり、実用的ではない可能性があります。この場合、オートデスクのライセンスは小さな問題である可能性があります。まず、JavaScriptをもう少しよく定義しましょう。JavaScriptはプログラミング言語であり、Webブラウザーに埋め込まれたJavaScriptはブラウザーによってバインドされていることを確認してください。これはJavaScriptの一般的なことではなく、すべてのJavaScriptがブラウザーで実行されるわけではありません。ブラウザとブラウザのセキュリティルールに拘束されるWebブラウザ内のJavaScriptは、一般に、Webページとサーバー内のデータだけでシステム全体と通信することはできません。したがって、ブラウザのJavaスクリプトがMayaと通信するには、サーバー接続が必要です。

MayaをWebサーバーとしてラップすることは可能ですが、私は過去にmelでラップしました。Pythonでそれを行う方が簡単でしょう。既存のデモコードはCreativeCrashで見つけることができますが、これは他の何よりも概念実証になります。オープンシーンを内省する以外に、デモでできることはあまりありません。いくつかの投稿がコードがそのまま動作するはずだと言っていることに反して。人々のファイアウォールをリモートでデバッグするのは非常に困難です。特に明記されていない限り、ほとんどのファイアウォールソフトウェアはサーバーをブロックします。多くのユーザーは、オーバーライドを使用してMaya全体を外部からブロックするため、これらを注意深く確認してください。

または、既存のjavaスクリプトtelnetツールとtelnetをフィルタリングされていないMayaコマンドポートに移動し、その上でMaya内のmel/pythonを直接呼び出すこともできます。anytermのようなものが法案に適合します。休暇中のスクリプトエラーを修正する前に、電話のsshアプリケーションでMayaを正常に使用しました。プログラムによるアクセスが必要な場合、これはより簡単な攻撃ベクトルになる可能性があります。

このようなことをするときは、これに関連する大きなセキュリティ問題があることを理解してください。Mayaには、システムへの完全なユーザーアクセスがあり、多くの場合、完全な管理者アクセスがあります。Mayaはコンピュータ上のすべてのものをユーザーレベルで呼び出すことができるため、攻撃者がコンピュータ全体をリモートで乗っ取るのを妨げるものは何もありません。

PS:正直に言うと、プライベート仮想ネットワーク上でリモートデスクトップまたはVNCを使用する方が、おそらくはるかに優れたオプションです。

于 2013-01-22T12:45:02.227 に答える