Node-redとタッチデザイナー間のUDP通信はじめに 同じPC上で動作しているNode-redとタッチデザイナー間で文字列の受け渡しが出来るか検証しました。OSC(中身はUDP)、TCP/IPなど試しましたが、上手く動作したのはUDPだけでした。詳しい動作はあまり理解できていませんが、とりあえず動作したので備忘録として記載します。1.タッチデザイナーからNode-redへ文字送信
1.1 タッチデザイナーのUDP設定 まず、タッチデザイナー上で送信するための仕組みとテキストデータを作ります。
事前知識として、タッチデザイナーには色々な種類のノード(箱)がありそれぞれ COMP , TOP , CHOP , SOP , MAT , DAT , Custom などグループに分けられています。同じ名前のノードでもグループが異なる場合もあります。例えば”UDP Out”というノードなら、”UDP Out DAT”とノード名とグループ名を組合せで呼称されるようです。基本的には同グループでしかノードを繋げられないみたいです。※まだ色々検証中で詳しい事は分かってません。
TouchDesigner から NodeRedへUDP通信でデータを送る。
1.1.1 UDP Out DATの作成
編集画面(エリアと呼ばれてます)をダブルクリックして、”DAT”タブにある”UDP Out”を作成します。以下の設定項目を入力します。
Connect
Network Address : localhost
Port : 12345
Row/Callback Format : One Per Message
Local Port Mode : Manual
Local Port : 12345
1.1.2 Text DATの作成
同様に、”DAT”タブにある”Text Dat”を作成します。Text Datノードの右下にある”+”マークをクリックすると、コード編集画面に切り替わります。以下を入力します。
op(‘udpout1’).send(‘Hello, world!’)
op(‘udpout1’) は先程作成したudpout1というノードに対して、.send()でテキストを送信するという動作です。
線で繋いで動作させる方法もあれば、プログラムで指定する方法、ノード中の設定で他ノードを指定する方法など色々な手段があり独特な手法を使うのでかなりややこしいです。今回は、線では繋がずプログラムで指定する方法なので、”UDP Out”と”Text”のノードがバラバラで設置されている状態です。どのノードとどのノードが繋がっているのか分からなくなることが多いので注意が必要です。
以上でタッチデザイナー側の設定は完了です。
1.2 Node-redのUDP設定 タッチデザイナーから送られてきたテキストをNode-redで受信して出力します。
Node-redの左のメニューから”ネットワーク”の中にある”udp in”ノードを作成します。
以下の項目を設定します。
待ち受け : UDPメッセージ
ポート : 12345
種類 : ipv4
出力 : 文字列
以上でNode-red側の受信設定は完了です。
1.3 UDP通信の動作確認 タッチデザイナーNode-redへテキストが送られるか、実際に動作させます。
タッチデザイナーの”Text DAT”を右クリックし、”Run Script”をクリックします。すると、Node-red側のデバッグに’Hello, world!’のメッセージが出力されます。
This article was created by Hano