Touchdesigner 2023 注目のアップデートまとめ

皆さんメリークリスマス！生体情報連動系インタラクティブコンテンツを作成しているまるです。

今年のTouchアドカレは今月5日に行われた、「Build 2023.11290」の大型アップデートについてまとめます。

個人的には<b>熱望していた機能が沢山実装され、超絶アツいアップデート！</b>

<b>「これみんな知ってるとたぶん役立つぜ」</b>、ってやつを要点絞って紹介していきます。
（その為細かいバグの修正みたいなものは省きます）

まだ知らない方は要チェックです。
では早速いきましょう。

## Body Track CHOP

![BodyTrack.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/217271/37d3ae2d-f082-d4b9-6d0d-69b02dbd3d28.jpeg)


まずはこれ！遂に来ました！
<b>Kinectが不要になるボディトラッキングCHOP</b>です。

注意点としてはWindows専用であることと、NVidiaのMaxineシステムのSDKを使用する為RTX20,30,40シリーズのGPUを必要とすることです。

最大34のキーポイントを2Dまたは3Dで追跡できます。

1人で入力、認識させてみた際のパラメータ例
![各CHOP.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/217271/5d7c7b60-93d3-d88d-cc17-5d25054891cb.jpeg)

内部で機械学習モデルを利用しており、ビデオまたはカメラ入力に対して身体姿勢推定を実行します。

身体検出に使用されるAIモデルはConfig/Modelsフォルダに存在します。

今年の8月にMicrosoftが[Azure Kinectの生産終了を発表](https://www.itmedia.co.jp/news/articles/2308/18/news115.html)しましたし、より個人ユーザーだと1万円前後で手軽に手に入る[KINECT for Windows v2](//af.moshimo.com/af/c/click?a_id=2648407&p_id=170&pc_id=185&pl_id=4062&url=https%3A%2F%2Famzn.asia%2Fd%2F2aov5if)などを未だに利用しているユーザーも多かったんじゃないかと思います。
~~何を隠そう私がそうです-~~

そこそこのグラボを積んだPCであれば、
外部デバイスが不要になるのは本当にありがたいですね。

### 2023年12月24日時点でのバグ

ただ、2023年12月24日時点ではまだパラメータの操作が速すぎるとクラッシュする場合があるそうです。
バグを見つけたら[フォーラム](https://forum.derivative.ca/)へ報告しましょう。

## OAK Device CHOP && OAK Select TOP 

![OAKD.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/217271/be94eac7-e361-4991-07bf-cf10f7528b7d.jpeg)

外部デバイスが要らなくなった！とはしゃいだ矢先ですが、お次はコレ。
OAK-Dシリーズの<b>DepthAIカメラの入力CHOPが遂に登場</b>しました！

皆さんOAK-Dシリーズご存じですか？
Microsoftのカメラ系デバイスの潮流がしぼんでいることを受けて、<b>昨今現場で人気の空間認識デバイス</b>です。
アメリカの会社LuxonisとあのOpenCVが共同開発したプロダクトです。
びっくりするのはそのサイズ！小型で持ち運び便利、埋込しやすくて用途が様々。

私は一昨年の海外版KickstarterのクラウドファンディングでOAK-D Liteの固定焦点、自動焦点版をそれぞれ1万円ちょっとで購入しTouchdesignrに使う予定だったのですが、当時は適応できるオペレータがなく手探りでPythonと連携、構築を行う必要がありました。
（フォーラムでは当月から専用サポートCHOPの登場を熱望するスレッドが立てられていました）

そして以前[ブログ](https://manumaruscript.com/oak-d-lite-depthai-setup/)でPythonを使ったやり方を記事にしたのですが、登場当初はDemo.pyが謎エラーでクラッシュしたりと使いこなすのに一工夫必要でした。

![OAKDGUI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/217271/b22484ca-dce2-65c7-f98d-1e9f5638cf2a.jpeg)

今回出来るようになったこととしては、まず<b>Pythonのコードを書かなくてもデフォルトのOP経由で映像を撮れるようになったこと。</b>
そして、Touchdesignr側で受信するサンプルレートを指定したり受信するチャンネル数を常に一貫して保ったり、あらゆるクック状態がInfoとして確認しやすくなったことが大きいです。

![OAKDLITE.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/217271/595a504a-7226-fef6-f38f-2b5defe959bd.jpeg)


依然として顔認識、手認識、表情認識などを利用する場合別途Pythonでアルゴリズムを叩く必要はありますが、これにより、より高速なプロトタイピングと安定した動作が可能になりました。

ちなみに接続してみたら、デバイスはどうやら数字の羅列（固有識別ID？）で認識、制御されるみたいでした。

当然、BodyTrackCHOPより精度と安定性は期待できますので、<b>Kinectを失ったけど内蔵GPUじゃ物足りないと感じているそこのアナタ、OAK-Dシリーズ是非お試しください。</b>価格も2万～とお手頃です。

【参考】スイッチサイエンスさんの[販売ページ](https://www.switch-science.com/collections/luxonis)

※4Kストリーミングする際には、[xLinkChunkSize](https://docs.luxonis.com/projects/api/en/latest/references/python/?highlight=xlinkchunksize#depthai.GlobalProperties.xlinkChunkSize)をゼロにして低遅延最適化を忘れないようにしましょう。

## Laser Device CHOP && Laser CHOP
![Laser.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/217271/a4f99406-58ee-3337-0e6e-a95325f90562.jpeg)

はい。EtherDream買いたいけど持ってないのでお見せ出来ません。すみません。

これはその名の通り、TouchdesignrでサポートされているEtherDream、Helios、および ShowNETというレーザーデバイスたちを一群で入力受け止めるようにしたCHOPです。
（之の登場により、EtherDream CHOPなどは非推奨に）

レーザー使った演出をTouchdesignrでやりたいユーザーにとっては嬉しい進化かと思います。

Laser CHOPでは頂点ホールドの最小/最大角度のLook up CHOPとBlank State Channelが追加され、デバッグが容易になったとのことです。

誰かデバイス持ってるひといたら制御の記事書いてほすぃ。

これ以上話しても知ったかぶりになるので飛ばします。

## Bloom TOP

![banana.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/217271/9a7fa916-2e09-5d0b-b9b5-76d40623639d.jpeg)

これはもう、見たまんまです！
Touchdesignr使いの皆さん、ついにTOP１つで<b>直接バナナを光らせることができるようになりました！！</b>

今までPaletteから呼び出していたものが、遂にTOP化。

パラメータも大きな変化はないので、これは知っておくだけですぐに試せますね。

### 2023年12月24日時点でのバグ

Bloom alphaが正しく計算されないようです。
これを修正したアップデートが近々リリース予定とのこと。

## その他

### Pythonが3.11にアップグレード
公式によるとすべての動作が10～60%高速化したそうです。やったね。
Python自体の新機能についてはこちらの[リリースノート](https://docs.python.org/3/whatsnew/3.11.html)を参照してね。

### GLSL COMPが追加
TOP以外のGLSL OPが追加されたよ。
パネル内のイメージを画面に直接レンダリングできて、解像度が表示される画面の DPI スケーリングに自動的に適応するため、ピクセル精度の UI をレンダリングするのに役立つよ。

### Audio Devices DAT / Video Devices DAT
すべての入力および出力オーディオ/ビデオ デバイスをリストする2 つの新しいDATが誕生したよ。

### Windows用の軽量Webインストーラーが追加
インターネットに接続されていれば、軽量サイズでTouchdesignrをダウンロード出来るようになりました。

## まとめ

BodyTrackCHOP、OAKDLiteを書き終えた辺りから<b>「あれ？このボリュームじゃイブのアドカレ投稿間に合わなくね？？」と気付き始め</b>2日連続投稿予定の @komakinex さんを妨げて敢えてイブを抑えた面目がこれでは立たない！ということで目に見える速度で後半雑解説になりました。

一旦公開するけど、近日中に情報足すかも。

また、[ブログ](https://manumaruscript.com/)のほうでTouchdesignrのTipsを時々発信しているので、需要あれば具体的なユースケースなどそちらでまた紹介予定です。

<b>もうちょっと知りたい、って人はいいねしてくれると嬉しい。</b>では。