人生しきりなおしちゃん

人生しきりなおしちゃん

25歳女子。仕事やめて大学院へ行くの巻

【Touchdesigner】Arduinoでシリアル通信とVJソフトArenaにOSC送信する方法について

忘備録のため、ブログに残すこととします。

 

<今回行うこと>

Arduinoに繋いだボタン5つどのボタンがクリックされたかをシリアル通信でTouchdesignerへ送信。

押されたボタンに応じてVJソフトArenaで割り振った映像を変更。

 

VJソフトに送らず、Touchdesignerで完結できるじゃん!となるかもしれませんが、私はTD有料版ではないため、フルHDで映像が投影されず泣く泣く無理やりOSCを使用することとしました。

 

そもそもArenaとTDのOSCのチュートリアルもなかったので、いるか分かりませんがお役に立てるかもしれない...というところからブログに残すこととします。

 

 

まず、

(1)Arduino→TD (シリアル通信)

 

ボタン(モーメンタリ式 )とArduinoを連携させてます。

そして、TDでSirialDATを作ります。

シリアル通信で、押された番号が表示されるようになっているので、

SelectDATで一行目だけ取得。

DATtoCHOPでCHOPに変換します。

f:id:tana_mi:20190123152152p:plain

f:id:tana_mi:20190123152157p:plain

そのあと、nullCHOPをかませて、

1〜5ボタン分のExpressionCHOPを作り、

ボタン1が押されたら、一つ目のexpress1CHOPが0から1になる。

ボタン2が押されたら、一つ目のexpress2CHOPが0から1になる。...

というように、指定します。

(私は押されたボタンの回数もカウントしたかったので、countも追加しました)

f:id:tana_mi:20190123152148p:plain 

f:id:tana_mi:20190123152141p:plain

 



 

 

 

 

(2)TD→Arena(OSC通信)

ExpressinCHOPConstantCHOPでまとめてここでArenaにOSCを飛ばす準備をします。

 

ここからは一旦Arenaの設定を確認していきます。

 

Arenaを開き、タブのMapping> edit Application OSC MAPをクリックすると、

f:id:tana_mi:20181125220924p:plain

OSCでどこに割り振るのか、確認することができます。

緑になっているところが、割り振れるところで、クリックすると、

その箇所の階層が見ることができます。(左下のOSC Output部分)

 

f:id:tana_mi:20190123152126p:plain

この階層部分をコピペして、ADノConstantCHOPに貼り付けます。

今回は、Arenaのレイヤー2のクリップ1~5に映像を入れといて、

ボタン1が押されると、OSCでレイヤー2のクリック1がクリックされるようになっています。

 

ここで注意なのが、ただこの階層をコピペしても反応しません!

最初のスラッシュを削除して下さい!

 

例えば、「/layer2/clip1/connect」だったら

「layer2/clip1/connect」と貼り付ける。

 

これで、TDでOSCCHOPでTDから送信するOSCの番号とArenaで受け取るOSCの番号が一緒か確認してオッケーです。

 

 

あまりArenaを使っている人を見たことないですが、、、

もし誰かのお役に立てられたら嬉しいです!

 

では!