VVVVからOSCでMayaを操作する
MayaのOSC受付環境を作る
pythonスクリプトのダウンロード
MayaでOSCを受け付けるために以下のURLからスクリプトをダウンロードする
- OSC.py
- simpleOSC.py
OSC.pyのダウンロード
simpleOSC.pyのダウンロード
pythonスクリプトをMayaのpythonフォルダに配置する
Osc.pyとsimpleOSC.pyを以下の場所に配置する
(アプリケーションのインストールフォルダ)\Autodesk(Maya version)\Python\Lib\site-packages\maya
これで、以下のように記述することで、simpleOSCのメソッドを呼ぶことができ、MayaでOSCを操作することができるようになる
import maya.simpleOSC
maya.simpleOSC.initOSCClient(ip='127.0.0.1', port=11112)
Maya側の受付準備
- cube(名前はpCube1)を作成する
- scriptエディタで以下のソースを実行
import maya.cmds
import maya.simpleOSC
def moveObj(addr, tags, data, source):
print "%s\n" % data
cmds.setAttr( 'pCube1.translateX', data[0] )
maya.simpleOSC.print_Test()
maya.simpleOSC.initOSCClient(ip='127.0.0.1', port=11112)
maya.simpleOSC.initOSCServer(ip='127.0.0.1', port=11111, mode=0)
maya.simpleOSC.setOSCHandler('/vvvv', moveObj)
maya.simpleOSC.startOSCServer()
# maya.simpleOSC.closeOSC()
maya.simpleOSC.closeOSC()を実行することで接続を解除できる。
Handlerの修正をした際には一度接続を解除してから、再度接続するようにする。
vvvvのOSC送信準備をする
vvvvをダウンロードした際にサンプルコードも一緒に入っている。OSCのサンプルコードを開き、OSCを送信している箇所を参考にする
(vvv.exeがあるPath)/girlpower/IO/Networking/2_Advanced (OSC)/00_OSC_Examples_1.v4p
送信するPort番号をMayaと揃える。(今回はmaya.simpleOSC.initOSCServerをport=11111としているので、vvvvにも11111を設定する)
maya.simpleOSC.initOSCServer(ip='127.0.0.1', port=11111, mode=0)
IPが違うPC同士で操作するのであれば、IPも設定する。(今回は自分のPCの中で操作するので、ip=127.0.0.1 or localhostに設定してある)