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').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

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

TouchDesigner常用python语句表达相关推荐

  1. python语句和语法介绍

    转自:微点阅读  https://www.weidianyuedu.com 一.python语句简介(python是面向过程.基于语句的语言) 1.python程序结构: 程序由模块构成 模块由语句构 ...

  2. python中常用的语句元素

    程序的语句元素 1.表达式 产生或计算新数据值的代码片段称为表达式.在python语句中,其一般是由操作数和运算符等构成的.表达式类似于数学中的计算公式,以表达单一功能为目的,运算后产生运算结果,运算 ...

  3. python 减法函数_从零开始学Python(五):常用函数语句和运算符

    上一章我们简单的了解了一下python的代码缩进,基础的输出语句,多行语句和单行多行注释,今天我们来了解下python的变量与基本数据类型,让我们在以后的编程中,对各种类型了如指掌! 运算符 1.算术 ...

  4. python 入门题库————python语句和基础数理

    python 入门题库 python 题库 Python使用符号_______表示注释 Python不支持的数据类型有 查看python版本的命令是 在Python中,print(type(16/4) ...

  5. 1000+ 常用 Python 库一览

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源 | 法纳斯特 这次给大家总结整理了1000+常用Python库 ...

  6. mysql用户管理,常用sql语句,mysql数据库备份恢复

    2019独角兽企业重金招聘Python工程师标准>>> mysql用户管理 grant all on . to 'user1' identified by 'passwd'; gra ...

  7. Oracle 数据库常用操作语句大全

    原文:Oracle 数据库常用操作语句大全 一.Oracle数据库操作 1.创建数据库      create database databasename 2.删除数据库      drop data ...

  8. wxpython dataview处理大量数据_38个常用Python库:数值计算、可视化、机器学习等8大领域都有了...

    作者 | 李明江 张良均 周东平 张尚佳 来源 | 大数据DT 原文 | 38个常用Python库:数值计算.可视化.机器学习等8大领域都有了 Python作为一个设计优秀的程序语言,现在已广泛应用于 ...

  9. 55:Mysql用户管理|常用sql语句|mysql数据库备份恢复

    2019独角兽企业重金招聘Python工程师标准>>> 1.Mysql用户管理: 场景,为了安全,新建的站点,创建新的用户,或者给已有用户授权,对某个库或者某个表有权限: 语法: g ...

最新文章

  1. java 获取第一帧_java获取视频的第一帧
  2. python编程软件例子-软件开发|10 个 Python 图像编辑工具
  3. mysql 查询缓存
  4. 项目编译失败_Swift源码编译让底层更清晰
  5. php 递归实现无限极分类和排序_PHP实现选择排序
  6. utf8_unicode_ci和utf8_general_ci的区别,联系及使用
  7. Puppet File资源介绍(贰拾)
  8. 重庆两江新区 闯出产业社区云新路
  9. ora257 linux,ORA-00257解决
  10. 104规约使用总结(三)——报文解析
  11. ROS端口映射这样才正确
  12. oss图片无法在网站中显示
  13. React Native 布局实现测试
  14. HYPERLEDGER FABRIC网络搭建之network e2ecli_default not found
  15. 顺丰快递:请签收Netty灵魂十连问
  16. 【有利可图网】PS实战系列:制作抖音UI图标
  17. Gee引擎配置微端后登录游戏黑屏怎么办?
  18. push()、pop()、shift()、unshift()方法简单整理
  19. 最近调试HEVC中码率控制, 发现HM里面一个重大bug
  20. matlab批量将图片处理为灰度图

热门文章

  1. 基于c语言的数字pid控制算法及实现,基于C语言的数字PID控制算法及实现.pdf
  2. [转贴]ERP实施呕心沥血谈
  3. 顽强拼搏展现自我合作共赢激情超越——记湖南工程职院美和易思篮球友谊赛
  4. pos机必须使用的物联网卡,流量卡
  5. 2014年计算机上机试题,2014计算机二级上机试题及答案.doc
  6. .NET Web开发部分试题(超级简单易学)
  7. ChatGPT:hankeer-chatgpt食用指南详解
  8. 惯性测量单元(IMU)系列介绍(1)——加速度计简介
  9. DBA的五款优秀SQL查询优化工具
  10. 如何使用python语言将txt中的数据转化成json格式的数据?