日本語 Introduction to touch designer
- 3. クレジット
菱形 千恵 - Chie Hishigata - 翻訳
Alelo Translation - info@alelotranslation.com
ベン・ヴォイト - Ben Voigt - 編修
Derivative - www.derivative.ca
特別な感謝の意を表して
松波 直秀 - Naohide Matsunami - 校正
antymark - www.antymark.com
グレッグ・ハマノビック - Greg Hermanovic - Derivative社 創立者
Derivative - www.derivative.ca
エルバーズ・ソーカビ - Elburz Sorkhabi - 著者
nvoid - www.nvoid.com
- 4. 目次
0 序章 6
0.1 本書の発行に寄せて 6...............................................................
0.2 まえがき 7...................................................................................
0.3 TouchDesignerとは 9..................................................................
1 基本 操作 10
1.1 データの流れと繋がり 10...........................................................
1.2 オペレーターの作成 11...............................................................
1.3 マウスとキーボード 14...............................................................
1.4 ネットワークとパス 15...............................................................
1.5 外部のテキストエディタの使用 16............................................
1.6 ヘルプ機能 17...............................................................................
2 ユーザーインターフェイス 19
2.1 パラメータウィンドウ 19...........................................................
2.2 パラメータ 20...............................................................................
2.3 トランスポートコントロール 23...............................................
2.4 タイムラインセッティング 23....................................................
2.5 ペイン(作業領域) 24...............................................................
2.6 Palette Browser(パレットブラウザー) 26..............................
2.7 検索ダイアログボックス 28........................................................
2.8 リアルタイムモード 28...............................................................
2.9 便利なキー操作 29.......................................................................
3 TOP 30
3.1 はじめに 30...................................................................................
3.2 Movie In TOP 30............................................................................
- 5. 3.3 ムービーファイルのプリロード(事前読み込み) 30............
3.4 Null TOP と Select TOP 31...........................................................
3.5 コーデック 32...............................................................................
4 CHOP 35
4.1 はじめに 35...................................................................................
4.2 データの送受信 35.......................................................................
4.3 音声の入力・出力 36...................................................................
4.4 サンプルレート 37.......................................................................
4.5 タイムスライシング 38...............................................................
5 DAT 40
5.1 はじめに 40...................................................................................
5.2 通信方法 40...................................................................................
6 SOPs 42
6.1 はじめに 42...................................................................................
6.2 レンダリング 42...........................................................................
7 COMPs 47
7.1 はじめに 47...................................................................................
7.2 Window COMP 47.........................................................................
7.3 ユーザーインターフェイスコンポーネント 48........................
8 MATs 50
8.1 はじめに 50...................................................................................
8.2 Phong、GLSL、Point Sprite マテリアル 50...............................
8.3 UVマップ 51.................................................................................
- 10. 1 基本 操作
1.1 データの流れと繋がり
全てのプロジェクトはワイヤーで繋がれた数々Operator(オペレーター)で構成される為、オペ
レーターをワイヤーで繋ぐのがTouchDesignerで行う最も基本的な作業と言えるでしょう。それ
ぞれのオペレーターが独自の機能を果たしますが、複数がNetwork(ネットワーク)として繋が
れたその時、とてつもなく複雑な課題を達成・解決することできるのです。
TouchDesigner内のデータは全て左から右へと流れていきます。入力データは左側に、出力デー
タはその右側へと順に並べられます。オペレーターの側面にある入力コネクターと出力コネク
ターは最初に繋がれた物から順に上から下へと並べられます。例えば、下のサンプル画面では
二つのデータの流れが左から右へ行くに伴って合成されていきます。
!
Component(コンポーネント)を使用する場合でもデータは同様に左から右へと流れていきま
す。オペレーターと異なる点といえば、コンポーネントでは親子関係を築くことが可能だとい
うことです。親子関係は上から下へと並べられます。一番上にあるコンポーネントが親、その
下のコンポーネントは子、その更に下のコンポーネントはまたその子(孫)、という感じで繋
がっていきます。下のサンプル画面では、三つのスライダーを表示しているContainer COMP(コ
ンテナーコンポーネント)のインターフェイスがあります。このContainer COMPが親で、その
下のSlider COMPがその子供たちになります。
- 11. !
1.2 オペレーターの作成
いつ、どの画面で使用するかにもよりますが、OP Create ダイアログボックスを表示するにはい
くつかの方法があります。オペレーターを一から作成する場合、最も簡単な二つの方法は1)
キーボードの「Tab」キーを押すこと、そして2)ネットワークの背景(画面の何もないとこ
ろ)をダブルクリックすることです。
既に繋がっている複数のオペレーター(オペレーターチェーン)に新規オペレーターを追加す
る場合は次の三つの方法が有効です。一つ目はオペレーターの入力コネクター又は出力コネク
ターの部分を右クリックする方法です。この方法で、入力コネクターの前、もしくは出力コネ
クターの後ろに直接オペレーターを追加することが出来ます。既存のオペレーターチェーンに
簡単に追加することが出来る便利な方法です。
例えば、Constant TOPとNull TOPが繋がっていて、その間にTransform TOPを加えるとしましょ
う。Constant TOPの出力コネクター、またはNull TOPの入力コネクターを右クリックして
Transform TOPを選択することによって、新規オペレーター(Transform TOP)を既存の二つの間
に追加することが出来ます。
コネクターの代わりに既存の二つのオペレーターを繋ぐワイヤーを右クリックして「Insert
Operator」を選択することによって、同様に新規オペレーターを間に追加することもできます。
オペレーターを作成する三つ目の方法はワイヤーを右クリックして「Add Operator」を選択す
る方法です。先程の「Insert Operator」との違いは、「Insert Operator」(挿入)は新しいオペ
- 15. 1.4 ネットワークとパス
TouchDesignerのプロジェクトは全てネットワークによって構成されています。複数のオペレー
ターがワイヤーで繋がれてネットワークが出来上がりますが、無制限の数のオペレーターとワ
イヤーでとても複雑に構成されていることも良くあります。そして、ネットワークはContainer
COMP、 Base COMP、 Geometry COMP等のコンポーネントの中に入れて整理することが出来ま
す。TouchDesignerの最上階レベルの画面は「root(ルート)」と呼ばれ、ここにはシステム用に
デフォルトで作成される二つのオレンジ色のコンポーネントがあります。
プロジェクトを制作してから直ぐにでもネットワークをコンポーネントに入れて整理すること
をお勧めします。現在のパスはNetwork Editor(ネットワークエディター)の上部にあるパス
バー(下の例で赤で囲まれている部分)に常に表示されています。
!
全てのオペレーターにはパスがあります。Unixファイルのパスに類似するものであり、
「Absolute path(絶対パス)」と「Relative path(相対パス)」の二種類があります。「絶対パ
ス」はroot及び「/」からの現在使用中のオペレーターの位置づけを示すものなのに対し、「相
対パス」は現在使用中のオペレーターからもう一つ別のオペレーターまでの道筋を示すもので
す。「相対パス」の場合、パスのスタート地点はrootではなく、現在使用中のオペレーターが属
するネットワークとなります。
具体的な例として、「Path.toe」ファイルを開いて見てください。TouchDesignerがrootレベルで
「network1」と呼ばれるContainer COMPを表示した状態で開きます。Network1の中には二つの
オペレーター、「rel1」と「Network2」があります。「rel1」はText DATで、中には二つのパス
が表記されています。一つ目は「絶対パス」で、プロジェクトの最上階レベルであるrootから始
まり、現在地のオペレーターに向かっての道筋を示します。二つ目は「相対パス」で、現在地
「rel1」から目的地である「rel2」までの道筋が表記されています。「rel2」はText DATであり、
Container COMPである「Network2」の中に位置します。「rel2」に到達するためには、
「Network2」内への移動が必要となるため、「相対パス」は「network2/rel2」となります。
「Network2」のオペレータービューアーがネットワーク内にあるText DATのオペレータービュー
アーをそのまま表示しているのに気づいてもらえるかと思います。先にパスの説明を優先して、
- 17. 5. 「Accept」ボタンを左クリックします。
セットアップ完了後、試しにText DATを作成し、そのText DATを右クリック、そして「Edit
Contents…」(コンテンツの編集)を選択してみて下さい。「Preferences」で選択したテキスエ
ディタが開くはずです。Table DATの編集の為に外部エディタを使用する場合は、同様に
「Preferences」で「Table Editor」を選択し、外部エディタを指定します。
TouchDesignerユーザー達に頻繁に使用されていて評判の高いクロスプラットフォームエディタ
は次の二つです。
1)Sublime Text 3 http://www.sublimetext.com/
2)Notepad++ http://notepad-plus-plus.org/
1.6 ヘルプ機能
使用中オペレーターについて疑問がある場合はいつでもDerivative社のWikiページで詳しい説明
を読むことが出来ます。パラメータウィンドウ内の二つの?ボタンで現在使用中のオペレーター
についてのWikiページを新規ブラウザーウィンドウで開くことができます。一つ目(白の?)
は使用中のオペレーターについて、二つ目(Pythonロゴと白の?)は使用中オペレーターの
Pythonスクリプトについての詳細情報を表示します。
!
- 20. 1. オペレーターヘルプ: そのオペレーターについてのWikiヘルプページがブラウザーで開き
ます。
2. オペレーターPythonヘルプ: そのオペレーターについてのPython Wikiヘルプページがブラウ
ザーで開きます。
3. 詳細情報ダイアログボックス:オペレーターを中クリックした場合と同様に、そのオペレー
ターについての詳細情報が表示されます。
4. コメント:オペレーターについてのコメントを表示・編集することが出来ます。
5. 複写済みパラメータ:右クリックメニューを使ってコピーされたオペレーターを表示します。
6. ランゲージ:オペレーターで使われるスクリプト言語をPythonとtscriptの二つから選択できま
す。
7. 拡張・折り畳み:全てのパラメータの拡張・折り畳み表示を行います。
8. 非デフォルトパラメータ:デフォルト値から変更されたパラメータのみが表示されます。
2.2 パラメータ
パラメータへの入力方法は様々なものがあり、状況によっては静的値(固定)である必要もあれば
動的値(可変)が必要な場合もあります。パラメータには下記の三つのモードがあり、それぞ
れから違う効果が得られます。
1. Constant(コンスタント)モード
2. Expression(エクスプレッション)モード
3. Export(エクスポート)モード
ほとんどのパラメータのデフォルト設定はコンスタントモード(グレーの配色)になっていま
す。Python、tscript又は数値入力にはエクスプレッションモードが使われます。エクスプレッ
ションモードの場合は濃いグレーと薄い青の配色になります。エクスポートモードは直接CHOP
チャンネルを参照する場合に使用されるもので、薄い緑に配色されます。
それぞれのパラメータには三つの内からどのモードでも適用することが出来ます。モードを変
更するには、カーソルをパラメータの名前の上に移動し、カーソルが下の例の様に「+」に変
わった時点で左クリックします。
- 24. ルトで60FPSに設定されていて、これはTouchDesignerが一秒につき60フレームをレンダリン
グするという意味です。「Tempo」ではBeat CHOPのBPM(beats per minute)を設定することが
できます。
タイムラインセッティングを使用するのはほとんどがメディアやアニメーションをタイムライン
にロックする必要がある場合です。「Start」と「End」はタイムラインの始まりと終わりのフ
レームを、「RStart」と「REnd」ではループ再生の始まりと終わりを設定できます。これらの
設定を使えば、例えば4千フレームのタイムラインからなるアニメーションを構成し、調整や確
認の為にタイムラインの一部のみをループ再生することも可能になります。
!
2.5 ペイン(作業領域)
ネットワーク間の移動にペインの使用を習慣付けると、更なる作業の効率化に繋がります。例
えば、パラメータを調整する為に三つのネットワーク内を通って移動し、そしてその結果を
チェックする為にまた元の場所に戻る・・・なんてことは時間の無駄に過ぎません。ペインを
使えば現在使用中のウィンドウを縦または横に何分割にもすることができます。ペインのレイ
アウトは再び利用する為に保存することも出来ます。
!
既定では、ペインのレイアウトオプションは上のサンプル画面の様にプリセットされています。
良く使われる、縦二分割、横二分割、三分割、及び四分割のレイアウトが用意されています。
更に「New Layout +」ボタンを押して新規レイアウトの名前を入力し、「Create」をクリックす
ることによって、新しいレイアウトを作成・保存することもできます。分割サイズや位置を保
存するだけでなく、それぞれのペインの種類も保存されます。下の例を使ってどんなにユニー
クなレイアウトが可能かどうかをご説明しましょう。
- 30. 3 TOP
3.1 はじめに
テクスチャーオペレーター(TOP)はTouchDesignerで作成するプロジェクトにおいて欠かせな
い存在です。2Dのテクスチャーオペレーターであり、映像再生から3Dレンダリング、合成、
ハードウェアのビデオ入力・出力までこなします。そして、モニター、プロジェクター、LED
ディスプレー等に出力する全ての工程で使われます。
3.2 Movie In TOP
数々のTOPが存在しますが、Movie In TOPはその中でも利用頻度の高いものです。
TouchDesignerに、静止画から様々なコーデックの映像ファイルまで幅広い種類のアセットを読
み込むことができます。Movie In TOPで良く利用されるファイルフォーマットの一部をこちら
にご紹介します。
• .mov
• .mp4
• .avi
• .tiff
• .jpeg
• .png
その他の読み込み可能なファイルフォーマットはDerivative社のTouchDesignerウィキページの
「File Type」の欄でご参照下さい。
Movie In TOPはフレームレートの異なったアセットの取り込み、または出力の際の問題を軽減
してくれます。Movie In TOPは、常時アセットの再生時間に従って再生します。例えば、プロ
ジェクト自体が60FPSに設定されていて、30FPSで作成された10秒間のアセットを再生するとし
ます。Movie In TOPはFPSの違いには関係なく必ず10秒間で再生するのです。逆の場合でも同様
で、例えば60FPSで作成された10秒間のアセットを30FPSのタイムラインで再生したとしても、
必ず10秒間で再生されます。どちらの場合にしても、10秒間というアセットの再生時間を優先
するためにフレーム数を倍にする、もしくは半分に削減して調整します。場合によってはフレー
ム補間を行うことによって、よりスムーズに再生できます。
3.3 ムービーファイルのプリロード(事前読み込み)
作成したリアルタイムアプリケーションがコマ落ちし続けると、伝えたいメッセージや魅せた
い効果が台無しになってしまいます。再生時の問題の解決策は後のチャプターで詳細にご説明
しますが、どの様な予防措置があるかをここで紹介しましょう。Movie In TOPのプリロード・
- 32. を繋げているだけですが、もしこれが100のアイテムを必要とするプロジェクトだとしたら、一
体どの様な状態になってしまうのでしょうか!?Select TOPはそんな時に便利な存在です。
「Select_2.toe」のサンプルファイルを開いて見てください。急に増えたアイテムの数にも関わら
ず、ごちゃごちゃに繋がったワイヤーもなく理解しやすくなっています。「composite 」コン
ポーネント内にあるSelect TOPで作成された画期的な参照システムを見てみましょう。この方法
は先程の例の様に手作業でワイヤーを繋げた場合より遥かに効率的で、それぞれのSelect TOP
(item 0から36まで)の「TOP」パラメータ内のPythonスクリプトが一レベル上のネットワーク
から、item番号の一致する複製TOPのコンテンツを参照して取り込みます。更に詳しく説明する
と、Select DAT(/project1/composite/select2)は一レベル上のネットワークでReplicator を操作し
ているTable DAT(table1)と自動的に同期されています。Select DAT(/project1/composite/
select2)が操作されることによってReplicator COMP(/project1/composite/replicator1)が下に
Select TOPを追加します。新規アイテムが一つ目のReplicator COMP(/project1/replicator1)に追
加される度にComposite TOP(/project1/composite/comp1)とワイヤーで繋がれたSelect TOPが追
加されるのです。
現時点でこのコンセプト全てを理解するのは難しいかと思いますが、ご心配なく。Replicatorと
スクリプトの使用方法については後程ゆっくりとご紹介します。今理解して頂きたいのは、
Select TOPとシンプルなスクリプトを使用した事によって、このプロジェクトにはこれからメン
テナンスがほとんど必要なくなった、という点です。他のアイテムを複製したい場合にはテー
ブルに一列加えるだけで可能になったのです。
3.5 コーデック
作成したムービーファイルをスムーズに再生するのは決して簡単な作業ではありません。使用す
るコーデックによって再生時のビジュアルの質は大きく左右されるので、様々な種類を試して、
作成したプロジェクトに合うコーデックを選出するのをお勧めします。
コーデックの種類の説明の前に、コーデックとコンテナの違いを理解するのが大切です。一般
的に、コーデックが音声・映像ファイルの形式(フォーマット)を意味する言語として理解さ
れがちですが、コンテナの種類によってはコンテナ内にコーデックを格納することもあります
ので、ビギナーにとっては分かりにくい場合が多いです。
Codec(コーデック)とはcomporessor-decomporessor(圧縮・解凍を行うもの)を短縮した言葉
で、その意味の通り二つの役目を果たします。一つ目は保管と移動の為に映像データの容量を
圧縮すること、そして二つ目は再生の為に解凍することです。この様に異なった二つの機能が
ある為に、数ある種類の中から目的に合ったコーデックを選ぶ必要があります。容量が軽く、
移動性の高いファイルの圧縮に向いたコーデックもあれば、質の高いコンテンツの長期保管向
- 34. H.264
メリット
• ファイルを極めて小さいサイズに圧縮可能
• 高い圧縮率でありながらも高画質(同レベルの圧縮率のものに比べても最良の画質)
• ストレージ容量を節約できる
デメリット
• 高解像度または高フレームレートの再生にはCPUの性能に左右される
• 適切にエンコーディングがされてない場合は、色が正しく表示されない(クォンタイズされ
る)可能性あり
• ビットレートがコンテンツによって大きく異なる
• 4096×4096ピクセルのサイズ制限
• アルファチャンネルに非対応
Animation Codec
メリット
• クオリティーを100%に設定すればロスレス圧縮が可能
• 圧縮のクオリティーが最優先される
• アルファチャンネルに対応
デメリット
• 大容量のファイルサイズ
• ハードドライブとCPUへの負担が大きい
• 複雑なコンテンツの場合はビットレートが激しく変動
Cineform
メリット
• 一定のビットレート
• 高画質
• アルファチャンネルに対応
デメリット
•大容量のファイルサイズ
• Cineformのエンコーディングソフトの購入が必須
- 35. 4 CHOP
4.1 はじめに
CHOP(チャンネルオペレーター)はチャンネルに関連する全ての作業を扱うオペレーターで
す。モーションデータ、音声の入力、アニメのキーフレーム、DMX、MIDI、OSC、そして
Microsoft Kinect、Leap Motion、Oculus Rift、ペンタブレット、キーボード、マウス等のハード
ウェアからの入力の作業を行います。そして、下にリストアップされている様々なタイプの音響・
映像機器とのデータ通信(入力、処理、出力)を行います。
• ミキサー
• MIDIコントローラ
• シンセサイザー
• DMXの照明機器
• Microsoft Kinectカメラ
• TouchDesignerが動作しているコンピュータ
• スピーカー
• その他の音響・映像アプリケーション(Max/MSP、Ableton Live、Resolume Arena等)
4.2 データの送受信
MIDI通信には様々な種類のソフトウェアとハードウェアを使用することができます。MIDIの入
力・出力はAbleton Live、Avid Pro Tools、Propellerhead Reason等のDAW(Digital Audio
Workstation)を使用して、手早く簡単に行える作業です。オーディオコントローラには通常
MIDIが搭載され、USBケーブルを使って通信することができます。ボタン、フェーダー、ピアノ
の 盤、タッチストリップ、ジョグホイール、ドラムパッド、ポテンショメーター等の入力ハー
ドウェアもコントローラの一部です。
Cycling 74 Max/MSP、 PureData、Native Instruments Reaktor等の開発環境ではOSC通信が可能で
す。OSC通信には構造上の改良により、モダンなネットワーク技術、MIDIよりも高度なレベル
での通信、チャンネルに名称をつけられる機能等の様々な利点があります。OSC通信はUDPま
たはTCPを使って行われる為、アプリケーション間の連携や長距離間のリアルタイムのメッ
セージ送信を簡単に行うことができます。現在ではソフトウェアとコンピュータシステム間の
通信手段の定番として使用されています。
DMXは照明機器や照明コントローラの為の通信プロトコルです。DMX対応機器にはディマー、
チェイス機能、RGBチャンネル、モーターによる駆動等の為に数々のチャンネルが用意されて
います。多くの照明コントローラはDMXプロトコルを使用して、ビデオコンピュータシステム
- 36. や照明機器と通信します。数多くのコントローラが市場にあり、使い方は様々です。照明演出
を使ったプロジェクトを制作する場合には、それぞれの操作マニュアルを良く理解するのが重
要です。例え必要ないとしても、全てのチャンネルを使用前に設定しておくことが必須です。
DMXデータの送受信を最適化する為のチャンネルの整理・管理法は後程紹介いたします。
Sync In CHOPとSync Out CHOPを使ってTouchDesignerシステム内、またはシステム外の複数の
セッションを同期することができます。データの送受信にはOSCプロトコルが使用されます。
この2種類のCHOPは全ての同期された機器のフレームの状況を常時把握して通信します。全て
の機器で特定のフレームがレンダリングされたのを確認すると同時に次のフレームへと進み、
この作業が繰り返して同期されている機器全てが常時同じフレームを映し出すのです。
4.3 音声の入力・出力
音声は様々なソースからの取り込みが可能で、そして様々な処理方法があります。
TouchDesignerを使って音声ファイル、動画ファイル、ネット上のストリーミング音声、外付け
音声インターフェース等の音声を処理することが可能です。そして、TouchDesigner自身で合成し
て一から音声を作り上げることもできます。
サウンドデザインと音声トラックのプロジェクトには必ず専用の音声ファイルがあり、
TouchDesignerはAudio File In CHOPとAudio Play CHOPを使ってMP3、AIFF、WAV等の広く使わ
れているファイルフォーマットを読み込み・再生することができます。リピート再生、設定ポ
イントへのスキップ、ピッチ変更、カット編集等、音声ファイルをフレキシブルに扱うことが
できます。
Audio Movie CHOPは動画ファイルの音声のみを再生したい時に使用します。ファイルを参照す
る代わりにMovie In TOPを参照します。音声を再生するのに参照したMovie In TOP内の映像と同
期して再生する他、音声オフセットパラメータで同期タイミングをコントロールすることがで
きます。
色々な種類の外付け音声インターフェイスをTouchDesignerで使用することができます。
Derivative社のTouchDesignerフォーラムとWikiページにて詳細に対応デバイスをリストアップし
ていますのでご覧下さい。
これらの対応デバイスはアナログもしくはデジタルの音声データを出力・入力します。入力ソー
スは音楽家・楽器家、オーディオミキシングコンソール、プロのビデオカメラ、そしてその他の
コンピュータシステム等様々です。音声データの出力先は以前に紹介した様々な種類の機器(ス
ピーカーを含む)です。Audio Device In CHOPとAudio Device Out CHOPを使用して外付けイン
ターフェイスとの通信を行うことができます。先方はTouchDesignerへの入力を、後方は
- 37. TouchDesignerからの出力を行います。そして、外付けのSDIソースからNVIDIA Quadro SDIカー
ドを使用して音声データを入力する場合には、Audio SDI CHOPを使用します。
TouchDesignerで使用できる音声ドライバーには二つの種類があります。DirectSoundはDirectXの
一部品であり、TouchDesignerの以前のバージョンでも使われてきました。長期間に渡って開発
された成熟ドライバーで、CPU使用率が高い場合でも比較的遅延時間が少ないのが特徴です。
ASIOはTouchDesigner 088で新しく対応可能になったドライバーです。Steinberg社によって開発
されたドライバーで、「WindowsのOSのみを介しての音声通信」というDirectXの大きな欠点を
改善したものです。OSを経由せずに外付けハードウェアと直接通信することによって、
DirectSoundよりも更に低いレイテンシー(遅延時間)が可能となりました。
TouchDesignerで入力と出力音声データのセットアップが完了すれば、他のデータと同様に自由
に扱うことができます。
4.4 サンプルレート
ほとんどのアプリケーションではバックグラウンドでのプロセスの過程を詳細に目にすること
が少ない為、オーディオを数学的に処理することに慣れているユーザーは少ないと思います。
実はオーディオとはとてつもなく速いスピードで処理されている数字データなのです。このコン
セプトを理解すれば、TouchDesignerでのオーディオの扱い方に役立つはずです。
「Sample_rates_1.toe」のサンプルファイルを開いてみて下さい。ここではオーディオアプリケー
ションで最も基本的な機能の一つである「ミュート」機能を作成します。これは、Math CHOP
を使って、音声データにButton COMP内の出力値(0または1)を掛けることによって可能に
なります。通常の数学の計算と同様に、0を掛けた値(この場合は音声データ)は必ず0にな
ります。同様に、値が何であろうと、1を掛ければ変化なくそのままの状態を保ちます。この
二つの出力値を使って音声をオン・オフすることができます。
更にフェードイン・アウト機能を追加して詳しくご説明しましょう。「Sample_rates_2.toe」を
ご覧ください。
先程の例に更に二つのオペレーター、Filter CHOPとResample CHOPが追加されています。Filter
CHOPは入力値に滑らかさを与える物で、オン・オフ二つの異なる出力値を滑らかに繋ぎます。
初心者ユーザーは他のCHOP内のサンプリングレートを見過ごしがちですが、アーチファクトの
ない音声再生には重要な物ですので十分に注意を払う必要があります。Oscillator CHOPは毎秒
44,100回サンプリングされていますが、Filter CHOPは毎秒60回でサンプリングされています。こ
れでは、出力値を掛けた時に音声サンプルとランプサンプルが1対1ではなく、735対1の比率に
- 47. 7 COMPs
7.1 はじめに
COMP(コンポーネントオペレーター)には三つのカテゴリーがあります。
• 3D Object COMP は3Dシーンを作成し、ライトを加え、そして表示します。
• Panels COMP はユーザーインターフェイス(ボタン、スライダー、ウィンドウペイン
等)を作成します。
• Other COMP は、それぞれ特殊な機能を備えており、キーフレームアニメーションを作
成するもの、他のオペレーターを複製するもの、出力専用ウィンドウを作成するもの等があり
ます。
通常、コンポーネントオペレーターは他のオペレーターと合わせて使用します。3D Object
COMPはSOPや3Dシーンをレンダリングするのに様々な組み合わせで使用されます。Panels
COMPはユーザーインターフェイスと出力ウィンドウを作成する為に使用されます。Other
COMPはキーフレームアニメーション、オペレーターの動的レプリケーション、複数のディスプ
レーでウィンドウを開く等、様々なタスクをこなします。
そして更に興味深いのは、実はTouchDesigner自体の大半が、TouchDesigner内のコンポーネント
で構成されている、という事です。これを理解できると、TouchDesignerをより深く知る手助け
になるでしょう。例えば、全てのパネルコンポーネントは他のオペレーターで構成されていま
す。Button COMPを作成してみると、そのネットワークの背景はText TOPでできています。そし
て、Panel CHOP がButton COMPのオン・オフ値を表示します。同様に、TouchDesignerのユー
ザーインターフェイスの全てはrootレベルで作成され、そして「ui」コンテナーで保存されてい
ます。MIDI Mapper DialogやWindow Placement Dialogといったメニューアイテムやダイアログで
さえも他のTouchDesignerのコンポーネントによって作成されています。
7.2 Window COMP
Window COMPはオペレーターのコンテンツを別ウィンドウで表示するもので、ほとんどのプロ
ジェクトで必要不可欠です。Window COMPを使ってフルスクリーン表示をする場合でも、通常
のウィンドウ表示をする場合でも、状況に応じて調整する必要があるパラメータオプションは
数多くあります。一つ一つのプロジェクトは異なったユニークなものなので、全てのプロジェ
クトに合う一つの設定は存在しません。TouchDesignerのヘルプ(Wiki)でパラメータオプショ
ンを紹介していますので、それぞれの状況に最適な対応をできるように、時間をかけて研究す
ることをお勧めします。
- 48. サンプルファイル「Window.toe」を開いて下さい。この例ではWindow COMPの基本機能と便利
な使い方を紹介します。まず、Container COMPをWindow COMPの出力ソースとして使用するの
が最適な方法だと言えます。何故なら、例えパフォームモードでも、ビューア内でテクスチャ
をドラッグして動かすことができるからです。この場合、テクスチャを手動で元の位置に戻す、
もしくは再び読み込みを行うまでビューア内のテクスチャは動いたままとなります。Container
COMPではテクスチャをドラッグして動かすことはできません。
次は、「Change monitor」ボタンのシンプルな機能を紹介しましょう。「Change monitor」ボタ
ンが押される度に、Window COMPのコンテンツを映し出しているモニターが、一つずつ順番に
表示されます。これは、Monitor DAT内のモニター数をCount CHOPでループさせることで可能
になったものです。
7.3 ユーザーインターフェイスコンポーネント
コンポーネントオペレーターはユーザーインターフェイスを作成するので非常に重要なオペレー
ターです。そして明確には、この役目を果たすのはPanels COMPです。後のチャプターで数々の
ユーザーインターフェイスの作成法が紹介されますので、ここではいくつか基本的なものを紹
介したいと思います。
最も実用的なPanels COMPは次の三つです。
• Slider COMP
• Button COMP
• Container COMP
Slider COMPとButton COMPの機能は他のアプリケーションのスライダーやボタンと似たもので
すが、状況に応じてカスタマイズができます。Button COMPはトグルボタン、ラジオボタン、そ
してモーメンタリーボタンとして設定する事ができます。Slider COMPは通常の一軸のスライ
ダー、もしくは二軸のパッド形式のスライダー(カラーピッカー等)として利用できます。
対照的に、Container COMPは他のユーザーインターフェイスを保管するコンテナーの役割以外
には特に機能はありません。
「UI.toe」のサンプルファイルを開いて下さい。まず、シンプルなユーザーインターフェイス
(container3)が見て取れます。そして、ネットワーク下部には二つのButton COMPと五つの
Slider COMPがありますが、これらがユーザーインターフェイスの機能を作成しているコンポー
ネントです。これらの親であるContainer COMPはボタンとスライダーをグループにまとめて整
理する為に使われています。「container1」と「container2」のビューアをオンにすると、ボタン
とスライダーをその場で操作する事ができます。Container COMPが出力データやオペレーター
をネットワークに持つことはありません。「container1」と「container2」が「container3」にま