LoginSignup
9
9

More than 5 years have passed since last update.

vvvvからOSCでMayaを操作する

Posted at

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側の受付準備

  1. cube(名前はpCube1)を作成する
  2. 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
sendOSC.png

 送信する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に設定してある)

vvvvでMayaを操作する

  1. cubeのx座標を0にするMayaControl01.png
  2. vvvvの値を変更しmayaのcubeのx座標を確認するMayaControl02.png
9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9