TouchDesigner常用python语句表达

Derivative TouchDesigner 是一款基于3D动画和VFX的实时节点的图形生成器。它是一种基于节点的可视化编程语言,它以节点形式构建视觉网络,并集成了许多交互设备组件。TouchDesigner特别擅长实时渲染和交互式项目,它还能够处理生成数字艺术视觉效果。数字艺术有两种不同形式 。一种形式使用Photoshop,sketch,3D建模等数字工具来创作相对传统的艺术作品。另一种形式本质上是计算性的,它涉及到编程算法的,并且通常是互动的。像Casey Reas,Refael Lozano-Hemmer和Jim Campbell这样的艺术家创作了没有传统模拟的艺术作品 ,他们常用的工具是Processing,OpenFrameworks,Max / MSP,TouchDesigner和VVVV。

TouchDesigner最常用表达:

变量:
         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').numRowsCHOP:
        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
 

TouchDesigner常见命令:

创建OP op('/project1').create(sphereSOP)
创建一个命名的OP op('/project1').create(sphereSOP, 'mysphere')
复制OP节点 op('/project1').copy(op('out1'), 'out2')
删除OP op('mysphere').destroy()
重命名OP op('mysphere').name = 'thesphere'
更改OP的类型 op('mysphere').changeType(boxSOP)
更改多参数OP的参数 s = op('mysphere') s.par.tx = 1 s.par.ty = 2
脉冲参数值 op('moviein1').par.cue.pulse()
执行op op('mysphere').cook()
将OP的数据保存到文件中 op('mysphere').save('sphere.tog')
改变一个OP的渲染和显示s = op('mysphere') s.render = True s.display = True
将.tox文件加载到COMP中 op('/project1').loadTox('geo1.tox')
点击小工具(面板组件) op('slider1').click(.6, .7)
时间线播放/暂停 me.time.play = True/False
TD常见表达式:

获取常数数值,如获取chop→constant—>s中常数speed数值:op(“s”)[“speed”].eval()
    修改文字颜色值 op(“text1”).par.fontcolorr = .5 op(“text1”).par.fontcolorg = .1
查询或更改另一个OP的参数,op('mysphere').par.frequency = 10;节点参数要加par,如op("moviefilein1").par.speed = 3
查询同一OP中的参数,me.par.tx
获得OP的上级(父母) parent()
获得OP的上上级(祖父母) parent(2)
获得OP的名字 me.name
获得OP的父母的名字 parent().name
获得OP的类型 type(op('moviein1'))
每帧获得一个唯一的随机数 tdu.rand(absTime.frame+.1)
获得每个编号运算符的唯一随机数 tdu.rand(me.digits+.1)
检查OP是否存在 if op('moviein1'):
获取多输入OP的输入数量 len(op('switch1').inputs)
从OP 获取CHOP通道参数 op('moviein1').width
chan1当前帧数值:op('wave1')['chan1'].eval() 或者如果在参数中,只需: op('wave1')['chan1']
获取频道的样本8 op('wave1')['chan1'].eval(8)
获取CHOP频道的数量 op('wave1').numChans
获得CHOP长度 op('wave1').numSamples
从第一个频道获取第三个样本 op('wave1')[0][2]
获取第二个频道的名称 op('wave1')[1].name
获取频道的频道索引 op('wave1')['chan1'].index
TD中常见时间语法:

“绝对时间”是您启动TouchDesigner过程后的时间,不计算电源按钮何时关闭

检索节点的本地帧编号 me.time.frame
以秒为单位检索节点的本地时间 me.time.seconds
检索帧中的绝对时间 absTime.frame
以秒为单位检索绝对时间 absTime.seconds 
TD中持久性全局数据存储与获取:

设置组件存储的值 n.store('keyname', 0.0)
从存储中获取价值 n.fetch('keyname') 
TD中DAT表达:

按索引获取单元格值 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])
访问Evaluate DAT中的当前单元格 me.inputCell
--------------------- 
作者:辣江南 
来源:CSDN 
原文:https://blog.csdn.net/qq_29859497/article/details/88364973 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 11
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值