About TouchDesigner / 特徴

TouchDesignerの特徴を挙げていきます。

ノードベースプログラミング環境

TouchDesignerの最大の特徴はノードベースのプログラミング環境であるということです。ノード(node)とは結び目という意味です。

通常、プログラミングをする場合はプログラミング言語と呼ばれる文章を打つことでプログラミングを記述していきます。これをノードベースに対してテキストベースのプログラミング環境と言います。

テキストベースのプログラミング環境は自由度が高い反面、敷居が高く、エンジニア以外がプログラミング作業に参加することが難しくなってしまう、という問題があります。

画像1

テキストベースのプログラミング環境の例

そのため最近ではある程度のプログラムの塊をブロック(TouchDesignerではその塊をOperatorと呼びます)として、それを繋ぎ合わせていくことでプログラムを作っていく、ノードベースのプログラミング環境をセットにした開発環境が増えてきています。

ノードベースの開発環境はHoudiniや一部のCGソフト内でも利用されており、勿論ハードルはありますが、デザイナーなどのエンジニアではない人たちにも比較的触りやすい環境と言えるでしょう。TouchDesignerの場合はかなりの部分がノードベースで開発できる上に、全てのOperatorにプレビュー画面がついているため、非常にユーザーフレンドリーです。

TouchDesigner 2020.20020_ C__Users_02oz_OneDrive_デスクトップ_NewProject.1.toe 2020_03_15 18_50_12

TouchDesignerの開発画面

ビルドしない常時実行形式

通常、アプリケーションを開発するということは.exe形式だったり.app形式のファイルをビルドして作ることを指しますが、TouchDesignerはビルドを行いません。

TouchDesignerではプロジェクトが常に実行されている常時実行形式と言われる形式で、開発時と利用時のプロジェクトの状態に殆ど差がありません。

これはビルドによる最適化が聞きづらい一方で、開発時のパラメータが全て常に操作可能だったり、開発時とビルドした後のアプリの状態の挙動の差異で悩まなくて良いといったメリットがあります。

vvvvやMAXなど、現場でお披露目ギリギリまでパラメータを編集する可能性のある(場合によっては本番中すら触る)アプリケーションを開発する環境で使われる開発環境はこの方式を取っている場合が多いです。

また、最近人気を博しているライブコーディング(ライブ中にプログラムを書いてパフォーマンスをする形式)もこの常時実行形式の環境を作って行われます。

センサーや通信系のパッチが豊富

UNITYやUnreal Engineなど、ゲームエンジン系の開発環境は当然コンシューマゲームをビルドするために開発が進められているため、ローカルなデバイスのサポートはそれほど積極的に行われていない、という現状があります。

TouchDesignerは様々なアプリケーションとの連携を想定しているため、様々なデバイスやアプリケーションと通信するためのプロトコルを標準でかなりの数、サポートしています。

様々なファイル形式の読み書きに対応

上記と同様、他のアプリケーションとの連携を想定しているTouchDesignerは様々なファイルフォーマットをリアルタイムで読み込むことが可能です。

Python, GLSL, C++による幅広い拡張性

ノードベースは非常に便利ですが、どうしてもテキストベースのほうが書きやすいプログラムが発生してしまう場合もあります。また、処理速度の関係上、テキストベースのほうが効率的に書ける場合もあります。

その際、TouchDesignerは3つの言語をサポートしているため、基本はノードベースで効率的に進めつつ、一部のみテキストベースのプログラミングを行う、といった良いとこ取りが可能です。




この記事が気に入ったらサポートをしてみませんか?