TouchDesigner でデバッグするときに役立つこと


print() じゃなくで debug()

print()はPythonで使う出力の方法ですが、TouchDesignerではprint()が使えるところでは代わりにdebug()という関数を使うことができます。
debug()は出力と共に、どこからどのオペレータのどの行で呼び出したのかを確認することができます。
TouchDesignerでデバッグをする大体の場合に有効です。

  • printとdebugの比較

Troubleshooting_in_TouchDesigner#Command:_debug

開けなくなったり初期不良のあるファイルには CrashAutoSave

無限ループを書いてしまったり、何かわからないことでファイルがクラッシュしたり、開けなくなることがたまにあります。
クラッシュした際に自動で CrashAutoSave.toe が生成されますが、自分が作成したtoeファイルもファイル名の頭に CrashAutoSave. をつけるとsafe モードで起動することができます。
safe モードで起動すると、プロジェクトないでは一切処理を走らせずに中身を確認・修正することができます。中身を修正したら、 CrashAutoSave. をファイル名から外して保存しファイルを開き直すことで開けなかったファイルを修正することができます。

CrashutoSave. の付いたファイルを開くと最初に以下の画像のようなダイアログが出ます。

OKを押してTouchDesignerが起動すると、タイムラインが走らず、画面中央にSafeModeという文字が乗ります。
この状態でオペレータなどの編集ができるので、不具合のある所を修正したり、必要な部分だけ取り出してほかのファイルにコピペするなどします。

Troubleshooting_in_TouchDesigner#Crash_Auto_Save
Safe Mode

Error DAT and Error Dialog

プロジェクト内のエラーや警告を一覧表示してくれる

Dialogs -> Errors

op Find DAT

プロジェクト内のオペレータをフィルターなどを指定して検索ができる
取ってこれる値も多い

non-Commercial モードで開く

ワークショップなどでライセンスを持っていない人向けに、サンプルファイルなど配布する際にNon-Commercialでも動作するかを確かめる際に使えます。
ライセンスの入れ替えがパッとできないので、スクリプトから制限をかけると楽です。

ノンコマーシャルライセンス制限
app.addNonCommercialLimit('password')  # 制限
app.removeNonCommercialLimit('password') # 解除
解像度制限
app.addResolutionLimit(1280, 720, 'secret123') # 制限
app.removeResolutionLimit('secret123') # 解除

詳しくはこちら→https://docs.derivative.ca/App_Class#Methods

参考になるリンク集