忘備録のため、ブログに残すこととします。
<今回行うこと>
Arduinoに繋いだボタン5つどのボタンがクリックされたかをシリアル通信でTouchdesignerへ送信。
押されたボタンに応じてVJソフトArenaで割り振った映像を変更。
VJソフトに送らず、Touchdesignerで完結できるじゃん!となるかもしれませんが、私はTD有料版ではないため、フルHDで映像が投影されず泣く泣く無理やりOSCを使用することとしました。
そもそもArenaとTDのOSCのチュートリアルもなかったので、いるか分かりませんがお役に立てるかもしれない…というところからブログに残すこととします。
まず、
(1)Arduino→TD (シリアル通信)
ボタン(モーメンタリ式 )とArduinoを連携させてます。
そして、TDでSirialDATを作ります。
シリアル通信で、押された番号が表示されるようになっているので、
SelectDATで一行目だけ取得。
DATtoCHOPでCHOPに変換します。
そのあと、nullCHOPをかませて、
1〜5ボタン分のExpressionCHOPを作り、
ボタン1が押されたら、一つ目のexpress1CHOPが0から1になる。
ボタン2が押されたら、一つ目のexpress2CHOPが0から1になる。…
というように、指定します。
(私は押されたボタンの回数もカウントしたかったので、countも追加しました)
(2)TD→Arena(OSC通信)
ExpressinCHOPをConstantCHOPでまとめてここでArenaにOSCを飛ばす準備をします。
ここからは一旦Arenaの設定を確認していきます。
Arenaを開き、タブのMapping> edit Application OSC MAPをクリックすると、
OSCでどこに割り振るのか、確認することができます。
緑になっているところが、割り振れるところで、クリックすると、
その箇所の階層が見ることができます。(左下のOSC Output部分)
この階層部分をコピペして、ADノConstantCHOPに貼り付けます。
今回は、Arenaのレイヤー2のクリップ1~5に映像を入れといて、
ボタン1が押されると、OSCでレイヤー2のクリック1がクリックされるようになっています。
ここで注意なのが、ただこの階層をコピペしても反応しません!
最初のスラッシュを削除して下さい!
例えば、「/layer2/clip1/connect」だったら
「layer2/clip1/connect」と貼り付ける。
これで、TDでOSCCHOPでTDから送信するOSCの番号とArenaで受け取るOSCの番号が一緒か確認してオッケーです。
あまりArenaを使っている人を見たことないですが、、、
もし誰かのお役に立てられたら嬉しいです!
では!