👆
[TouchDesigner] 共通コードを外部オペレータにまとめる
共通するpythonコードをText DATに書いておき、他のオペレータから参照することができる。
外部オペレータに共通コードを記述する方法
Text DATに def を使って関数として記述する。(テキストとして記述)
例:
util (Text DAT)
def print_hoge():
print('hoge')
共通コードを呼び出す方法
1. modを利用して呼び出す
mod.('外部TextDATのOP名').関数名()
で呼び出す。
例:
chopexec1 (CHOP Execute DAT)
def onOffToOn(channel, sampleIndex, val, prev):
print('Use mod')
mod('util').print_hoge()
return
2. importを利用して呼び出す
import 外部TextDATのオペレータ名
でインポートし、
外部TextDATのOP名.関数名()
で呼び出す。
例:
chopexec2 (CHOP Execute DAT)
import util
def onOffToOn(channel, sampleIndex, val, prev):
print('Use import')
util.print_hoge()
return
注意点
importを使用する方法の場合、Text DATの内容を書き換えても呼び出し側に変更がないと書き換え前のコードが実行されてしまうので注意。
呼び出し側のコードを変更するか、呼び出し側 or Text DAT を一度手動でRunすると反映される。
modを使用した場合、特別な操作なく反映されるため基本的にはmodを使用した方がよさそう。
参考:
サンプルプロジェクト
Discussion
トピックを
touchdesigne
からtouchdesigner
に修正いただくことを検討ください。