Houdini から Maya に Python 経由でコマンドを送る方法。正直なところ、以下のことだけをやるのであれば、 Houdini である必然性はあまりなく、普通の Python シェルからやっても同じ。
使用したビルド: Houdini 18.0.499 (どのバージョンでも同じ)
Maya 2018 および 2019 (どちらも同じ)
準備
- 該当する Houdini および Maya をインストール。
- 以下だけであれば、Houdini Engine for Maya プラグインは不要。
- PYTHONPATH に追加パス設定も不要。
- 同一PC 上で行うのであれば、ファイアウォールへのポート追加も不要のはず (Windows 10)。
手順
- Maya を起動。
- スクリプトエディタ (Python) を開き、以下のコマンドを実行。
import maya.cmds as cmds cmds.commandPort(name=':8888', sourceType="python")
- これで Maya にポート8888 経由で Python コマンドを送ることが可能になる。sourceType を指定しないと MEL コマンドが期待される。
- Houdini を起動し、Windows->Python Source Editor を開き、上の部分に以下のスクリプトをペースト。
import socket client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect(('localhost', 8888)) client.sendall("import maya.cmds as cmds;cmds.polyCube();") client.close()
- Apply をクリックしてコマンドを実行。
- Maya に pCube1 が出来るはず。もしくは Python Shell を開き、一行ずつ実行しても良い。
// Error: line 1: Cannot find procedure "import". //と出たら、ほぼ間違いなく commandPort 実行時に sourceType が指定されておらず MEL として解釈されている。
おしまい。
0 件のコメント:
コメントを投稿