Derivative TouchDesigner 是一款基于3D动画和VFX的实时节点的图形生成器。它是一种基于节点的可视化编程语言,它以节点形式构建视觉网络,并集成了许多交互设备组件。TouchDesigner特别擅长实时渲染和交互式项目,它还能够处理生成数字艺术视觉效果。数字艺术有两种不同形式 。一种形式使用Photoshop,sketch,3D建模等数字工具来创作相对传统的艺术作品。另一种形式本质上是计算性的,它涉及到编程算法的,并且通常是互动的。像Casey Reas,Refael Lozano-Hemmer和Jim Campbell这样的艺术家创作了没有传统模拟的艺术作品 ,他们常用的工具是Processing,OpenFrameworks,Max / MSP,TouchDesigner和VVVV。
变量:
me.time.absTime
root.setVar('variable') #设置一个全局变量
me.var('variable')#引用一个全局变量
me.digits
me.parent().digits
表:
op('table1')[3,4] = 'hello'
op('table')[“row”,”col”]
op('table').numRows
CHOP:
expression chop ------>me.inputVal >=1
op('noise')[“chan1”] #设置参数值
op('noise')[“chan1”].eval()#获取参数值
op('noise').numSamples #chop样本数
text script:
op('text1').par.text = “AAA”
或获取表中数值写入text newText = op(“user_input”)[0,0]. op('text1').par.text = newText
op('/project1').create(sphereSOP)
op('/project1').create(sphereSOP, 'mysphere')
op('/project1').copy(op('out1'), 'out2')
op('mysphere').destroy()
op('mysphere').name = 'thesphere'
op('mysphere').changeType(boxSOP)
s = op('mysphere') s.par.tx = 1 s.par.ty = 2
op('moviein1').par.cue.pulse()
op('mysphere').cook()
op('mysphere').save('sphere.tog')
op('/project1').loadTox('geo1.tox')
op('slider1').click(.6, .7)
me.time.play = True/False
op('mysphere').par.frequency = 10;
节点参数要加par,如op("moviefilein1").par.speed = 3me.par.tx
parent()
parent(2)
me.name
parent().name
type(op('moviein1'))
tdu.rand(absTime.frame+.1)
tdu.rand(me.digits+.1)
if op('moviein1'):
len(op('switch1').inputs)
op('moviein1').width
chan1
当前帧数值:op('wave1')['chan1'].eval() 或者如果在参数中,只需: op('wave1')['chan1']
op('wave1')['chan1'].eval(8)
op('wave1').numChans
op('wave1').numSamples
op('wave1')[0][2]
op('wave1')[1].name
op('wave1')['chan1'].index
“绝对时间”是您启动TouchDesigner过程后的时间,不计算电源按钮何时关闭
me.time.frame
me.time.seconds
absTime.frame
absTime.seconds
n.store('keyname', 0.0)
n.fetch('keyname')
op('table1')[2,3]
op('table1')['r1', 'c1']
op('table1')[2, 'product']
int(op('table1')['month', 3]) float(op('table1')['speed', 4])
op('table1').numRows
op('table1').numCols
op('table1')[3,4] = 'hello'
op('table1')[2, 'answer'] = 'hello'
op('table1')['month', 3] = 'july'
op('table1')['r1', 'c1'] = 'abc'
op('table1').copy(op('fromTable'))
op('table1').appendRow(['s1','s2', num])
op('table1').appendCol(['s1','s2', num])
me.inputCell