※随時追加予定(2017/6/13現在)
TouchDesignerで日々作ったパッチから得られた知見をまとめています。
個人用のチートシートなのでかなり不完全なまとめなのはご了承ください。
[OPERATORまとめ]
[SOP:Surface Operator]
Particle:パーティクルに使用
[Parameter]
Ramp Tab
- Type:方向
- aa
[TOP:Texture Operator]
Movie File In(TOP):
ファイルからの入力/動画/静止画を読み込む/解像度最大1280
※日本語ファイル/フォルダはトラブルの可能性あるので使用しない
[Parameter]
Play Tab
- Play:
Video Device In(TOP): 内臓カメラやキャプチャカードからの入力
[Parameter]
xxx Tab
- xxx:
Text(TOP): テキスト入力して生成した画像
[Parameter]
xxx Tab
- xxx:
Constant(TOP): 指定した値の色
[Parameter]
xxx Tab
- xxx:
Level(TOP): コントラストやガンマ値などのレベルの変更
[Parameter]
xxx Tab
- xxx:
Cross(TOP): 2つの入力を重ねてクロスフェード
[Parameter]
xxx Tab
- xxx:
Tile(TOP): タイル状に並べる
[Parameter]
xxx Tab
- xxx:
RGB to HSV(TOP): HSVカラースペースに変換
[Parameter]
xxx Tab
- xxx:
Switch(TOP): 入力された値の切り替え
[Parameter]
xxx Tab
- xxx:
[CHOP:Channel Operator]
Math(CHOP): 四則演算など
[Parameter]
xxx Tab
- xxx:
Audio Device Out(CHOP): 音声ファイルからの入力
[Parameter]
Audio Device Out Tab
- Play:
Select(CHOP): 特定のデータを抽出
[Parameter]
xxx Tab
- xxx:
Cache(CHOP):
[Parameter]
xxx Tab
- xxx:
Cache Select(CHOP):
[Parameter]
xxx Tab
- xxx:
Constant(CHOP): 一定の値。いくつも指定できる
[Parameter]
xxx Tab
- xxx:
MIDI In(CHOP): MIDIデバイスからの入力データを受け取る
[Parameter]
xxx Tab
- xxx:
[COMP:Component Operator]
Slider(COMP): SLIDER UIで値をコントロール
[Parameter]
xxx Tab
- xxx:
Ramp:グラデーションを作るときに使用
[Parameter]
Ramp Tab
- Type:方向
- aa
Transform:
[Parameter]
Transform Tab
- Rotate:回転
Composite:
[Parameter]
Composite Tab
- Operation:
Common Tab - Output Resolution:
- OutPut Aspect
Tab共通 - Input OP:
Replicator:
[Parameter]
Replicator Tab
- Template DAT Table:
- Operator Prefix:
- Master Operator
- Destination
Audio File In(TOP): 音声ファイルからの入力
[Parameter]
Audio File In Tab
- Play:
Audio Play(CHOP): 音声ファイルからの入力
[Parameter]
AudioPlay Tab
- Play:
Audio Movie(CHOP): 音声ファイルからの入力
[Parameter]
Movie Audio Tab
- Play:
Filter(CHOP):
[Parameter]
Filter Tab
- Type:
Leap Motion(TOP/CHOP)
Leap Motionからの入力
[Python Script]
[Basic]
- op('xxx'):xxxオペレーターの参照取得
- op('xxx').par.xxxxxx:xxxオペレーターのパラメータの参照
- ops('xxx*'):ワイルドカードで複数の参照
→ あとは変数用意してfor variable in variablesとかで適当にループ回す - str(me.digits):
- absTime.seconds:総経過時間
- absTime.frame:総フレーム数
- me.time.seconds:タイムライン一周分の時間
- me.time.frame:タイムライン一周分のフレーム数
- me:OP自身
- me.parent():OPの親
- me.parent().var('xxx' , xxx):local Variable xxx設定
- me.digits:
- me.op('xxx'):
- print(''' xxx '''):シングルクォート3つで改行ありで出力できる
- parent():親を参照
- parent(x):親の祖先を参照。xは数値
- parent().digits:
- parent().name:
- op('xxx')['chan1']:xxxオペレーターのchan1の値を参照
- op('xxx')[0]:xxxオペレーターの配列0番目の値を参照(一つ上と同じ値)、OPにある値の分だけ配列数指定可能
→ こっちの記述のほうが変更に強い - op('xxx')chan(0):xxxオペレーターのchan1配列0番目の値を参照
- op('xxx')chan(0).vals:xxxオペレーターのchannel全値をリストとして取得
- math.sin():sin関数
- math.cos():cos関数
- op('table')[row(横), column(縦)]:row、columnで指定した条件でTableの値を参照
→ row, columnにはテーブルの指定の行&列番号もしくは値の文字列でも指定可能 - app.samplesFolder + '/Map':現在開いているファイルのフォルダの中身?
- 配列.len():配列の数を返す
- 配列.append(''):配列に要素を追加
- 配列.extend(['', '']):配列に配列要素を追加
- op('xxx').findChildren( $type, ):子要素を全取得, 引数で絞込める
- Dictionaryデータ.keys():Keyを全て取得
- Dictionaryデータ.values():Valuleを全て取得
- me.inputCell:テーブルのセルに演算できる
- int(val):valをint型にする
- float(val):valをfloat型にする
- str(val):valを文字列に
※Pythonでは数値と文字列を連結するとエラーになる。暗黙的に型変換をしてくれない
[Logic&各演算子]
- if ~ else文
if condition:
statement
else:
pass
pass:breakと同じく論理構造から抜ける
- if ~ elif ~ else文
if condition 1:
statement 1
elif condition 2:
statement 2
else:
- A and B:AかつB。andで論理積
- A or B:AもしくはB orで論理和
[Channel Class]
- op.chan(x).index:channe(x)のインデックス
- op.chan(0).name:channel名
- op.chan(0).owner.name:channelの属すオペレーター名
[CHOP Class]
- op('xxx').samples:xxxオペレーターの値の配列数取得