【TouchDesigner学习笔记与资料】 |
您所在的位置:网站首页 › an元件怎么导出gif › 【TouchDesigner学习笔记与资料】 |
文章目录
基础知识常用快捷键TOP元件CHOP元件DAT 元件SOP元件COMP元件MAT元件
TouchDesigner是什么?
简单来说就是一种可视化的编程语言。TD 是一种编程语言。TD 不是一个 APP 应用程序,像一般程序那样可以很容易的开始执行动作。touchdesigner 是基于节点的图形化编程软件。这意味着,我们不用打开一个文本文档然后一行行敲代码,TD 用图形化界面来通过节点创建程序。TD 的每一个节点或 OP 元件,执行一个具体的,小的,独立动作。实现一个整体功能,需要多个节点共同完成。它们的输入和输出连接在一起,来传递信息。
基础知识
创建OP元件 在界面双击创建OP元件,或者用快捷键"Tab".(貌似有些windows版本不支持Tab快捷键)。
鼠标和键盘导航 使用外部文本编辑器 TD 中本身可以创建和编辑简单的脚本。不过随着脚本增长,用外部的编译器会 更省事快捷。这样会有一大堆好处,我们简单列举: 代码行号; 分颜色的代码; 查找替换功能; 自动联想语句; 所以,在 TD 中广泛使用 Python,会让你的工作更高效。 Sublime Text 编辑器链接 Notepad++ 编辑器链接 帮助 参数窗口 在参数窗口可以访问所有 OP 的参数。 有两种方法打开它。 一种是用“P”键,这样会打开一个停靠在窗体右上角的固定窗口。它会显示任何你当下 选择的 OP 的参数。(window版本P无效) 另一种是直接右键 OP,选择 Parameter(参数),这样会打开一个浮动窗口。这种方法的 区别是,此时如果你选了别的 OP,这个窗口的参数还是之前那个 OP 的参数。 想要同时操作多个 OP 的参数时,第二种方法会很有效。虽然每个 OP 的参数设置都不相 同,但它们都用相同的参数选项。下面是个某个 OP 选项的参数。 参数 1.常数类型 大多参数的默认类型是常数型,它的数值区域显示为灰色。 第一个是这个参数脚本的名字。 在 TD 的任何一种脚本语言中,任何时候引用参数,都需要脚本名称。 Noise CHOP 的 Roughness 参数的脚本名称是’rough’。 在 Python 中设置 Roughness 的值为 1 的语句如下: op(‘noise’).par.rough = 1 2.表达式类型 点击蓝色方框,可以变为表达式类型。 3.输出类型 要是想变成输出类型,需要把某个 CHOP 元件的 channel 拖到参数上,然后输出类型的小方框会被自动选上,后面的背景色也变成了绿色。 运动控制 时间轴设置 除非有视频或动画被锁定到时间轴上了,否则一般来说,不用经常操作时间轴的设置。时间轴设置在屏幕左下角,重点是要知道,这里可以改变工程运行的帧速度或节奏。 帧速度决定了项目渲染每一帧的速度,默认是 60 帧/秒。也就是说工程会尽量保证每秒渲染 60 帧画面。 节奏决定了项目每分钟的节拍数,Beat CHOP 这东西会用到它。时间轴设置常用在媒体或者动画需要被锁定在一个一致的时间轴上的情况。 帧控制包括’Start’ 和 'End ',用来控制时间轴的第一帧和最后一帧。同样,‘RStart’ and 'REnd’则是用来控制时间轴循环播放的开始点和结束点。通过这些设置,既能创建一个横跨整个时间轴的4000 帧动画,也能实现循环播放时间轴的一小部分。 分屏显示
实时渲染 ** 常用快捷键** 当鼠标悬停在网络上方,下面的快捷键可以使用: ‘P’ 打开/并关闭选定 OP 的参数窗口 'O’在面板左下角打开和关闭当前网络的概览。 'C’打开和关闭资源查看器。这可以为选定的 OP 添加一个彩色的轮廓,以方便识别 'A’允许与 OP 在状态窗口和编辑窗口之间进行切换 'B’忽略或取消忽略选择的 OP 'H’执行总览网络的动作,实现在屏幕中看到当前网络的所有 OP ‘Shift + H’ 在屏幕中查看所有选择的 OP 'R’切换 OP 的渲染标志(如果有) ‘D’ 切换 OP 的显示标志(如果有) ‘Control + C’ 复制选择的 OP ‘Control + V’ 粘贴复制的 OP ‘Control + Shift + V’ 在鼠标处粘贴复制的 OP ** TOP元件** movie元件 预加载影片 'Preload’按钮用下面的 Python 函数来预加载’Pre-Read frames’值所代表的帧数。 op(‘moviein1’).preload() NullTOP 和SelectTOP 相比那些费资源的 TOP,比如 Blur TOP,另外一些 TOP 是不需要占用系统资源的,能随便用。 比如 Null TOPs 和 Select TOPs。 尽管这两个 OP 不改变任何元素,但在创建高效的流程上非常有用。 一个布局合理的网络常被放在 Null TOP 和 Select TOP 里,而不是任由连线交错重叠,难以辨识。
面一样的情况,网络很快变得难以辨认。Select TOP 则可以快捷整齐地引用其他 TOP。
编码器 视频播放是一个繁杂的过程。 明智的做法是花时间尝试不同的编解码器,看哪种在视觉效果和性能的均衡上最适合该项目。 在开始操作具体的编码器前,了解编码器和容器之间的区别很重要。 编码器是音视频文件合格的总称,它容易让初学者弄混。 因为容器可以容纳多种编码器。 编码器是用来压缩和解压的。它有两个主要任务,第一个是压缩视频数据以便于储存和传输;第二个是解压视频数据来播放。因为这两种不同任务的存在,每个编码器有不同的侧重。一些倾向于把文件压缩成小体积,便与传输;而另一些侧重压缩为画质高,适合长期保存的影响。不同项目有不同需求,有时候,目标是用最高质量播放一个内容,另一些时候,必须降低画质来同时播放多个文件。为项目选择正确的编码器需要经过一些测试和思考,但可能会花不少时间。容器的作用,跟它的名字一致。它可以容纳压缩的视频,音频,以及所有一个影片需要解压个播放的数据内容。在 TD 中有多种不同的容器,不过相对于编码器,他们对整个项目的流程影响区别不大。 当不同种类的容器和编码器组合使用,事情会变得复杂。想像下,有个叫’test_movie.mov’ 的视频文件。在一个项目中,这个文件是个QuickTime 容器中的一段Animation 格式压缩编码的.mov 文件。有趣和让初学者迷茫的是,在另一个项目里,它是一段 H.264 压缩编码的文件。更混乱的是,这个 H.264 文件可能还在一个 MPEG-4 容器中,用’.mp4’做后缀。抛开这些混乱,目前的 HAP 家族中用很多流行的编码器可选。H.264, Animation 编码,还有 Cineform。每个编解码器都有自己的优点和缺点。下面是这些编码器的优缺点对比。 IntroductionToTouchDesigner HAP 家族: Pros 优点: 可以播放极高分辨率和高帧速率视频 极低的 CPU 消耗 HAP Q 是视觉无损压缩 极低的 GPU 消耗 缺点 大文件大小 难在窗口上编码文件 必须使用固态硬盘或 SSD RAID0 文件播放 主要瓶颈是硬盘读取速度 H.264 优点: 可制作轻量级视频 视频画质相对压缩程度,做的最好。 磁盘使用率低 缺点 需要大量的处理器内核来播放极高的分辨率或高帧速率。 如果在编码中不正确的话,会感到颜色分层化 比特率随内容变化明显 长宽分辨率都是 409 难以创建 alpha 通道 Animation Codec 优点 100%无损文件 优先考虑质量 自带支持 Alpha 通道 缺点: 文件很大 对硬盘和 CPU 的要求都很高 比特率随内容变化明显 Cineform 优点 恒定比特率 高图像质量 自带支持 Alpha 通道 缺点: 文件大 必须购买 cineform 软件编码 ** CHOP元件** 通讯方式 MIDI 与现有的很多软硬件有不错的兼用性。数字音乐工作站-DAW,例如 Ableton Live,Avid Pro Tools, Propellerhead Reason 等等,都支持 MIDI 的输入输出。它是一种快速稳定并经过实践考验的协议。调音器通常配备 MIDI USB,它的输入包括按钮、faders、琴键、触摸板、滚轮、节拍器、电位计。程序运算系统诸如 Cycling 74 Max/MSP, PureData, Native Instruments Reaktor 等等,都已经支持 OSC 通讯。得益于现代网络通讯技术,OSC 有着比 MIDI 更高的性能和更好的架构。OSC 消息可以在 UDP 和 TCP 连接中传输,因此它很容易实现实时长距离的网络传输。目前,OSC 是软件和计算机系统之间通讯最常用的方式。 DMX 是供灯光和控制器之间使用的协议。许多DMX 设备都有多路调光、灯光跟随、RGB 通道、自动化电机等等。许多灯光控制器用 DMX 与其他设备或电脑通讯。当你打算用这些控制器和平台组建项目时,记得认真参考他们的手册。一般来说,就算有些功能这个项目用不上,你也应当有所了解。有多种方式优化 DMX 的数据收发流程,这些将在后面提到。同步输入类 CHOP 和同步输出类 CHOP,通常用于 TD 的内外接口的帧同步。他们用 OSC做底层的通信协议。这两类 OP 通过在每一帧通讯同步状态来工作。当所有同步设备确认,自己已经完成本帧的渲染,他们会同时进入下一帧。通过在每一帧重复这些事件来保证设备间的画面同步。 音频输入与输出 音频有多种来源和多种处理方式。TouchDesigner 能够使用音频文件,视频文件,外部音频接口,网络音频流等资源,来获取并处理音频。甚至也可以无需来源,自己生成音频。 大多涉及声音设计、音频音轨的项目都会有专用的音频文件。TD 能够读取和播放很多标 准的音频文件格式,如 MP3,WAV,AIFF。通过 CHOP 元件中的 Audio File In 和 Audio FileOut,这些音频文件可以被循环、修建、重建、插入,以供各种设备使用。 Audio Movie 型 CHOP 可以从视频文件中播放音频文件。不同于从文件中播放音频,该元件引用了一个 Movie In 型 TOP 元件。这样可以使音频与视频保持同步,并有一些参数来使音频更好的匹配视频。 TD 兼容多种外部音频接口,详细的兼容列表,最好去参考 TD 的维基百科和论坛。 这些外部设备可以提供各种模拟和数字音频的输入和输出。人声、乐器、摄像机、调音台、计算机,都可以作为音频的输入源。TD 中与外部音频接口通讯的是 CHOP 元件中的Audio Device In 以及 Audio Device Out. 他们分别处理输入和输出。 另外还有个 Audio SDI元件(SDI 指的是 Serial digital interface,此元件只有在购买 TouchDesigner Pro 版本之后才会出现),专门跟英伟达的 Quadro SDI 通讯,采集外部音频。 TD 能访问两种音频驱动。DirectSound 是基于 DirectX 的成熟驱动,被大量使用。而在TD 088 版后,加入了 ASIO ,它可以改善 DirectX 的一个主要缺陷-必须基于 windows。它能绕过系统,直接与音频设备通讯,从而获得更低的延时。 采样率-SampleRates
初学者常常会忽略不同原件之间的采样率的区别。但想要创建可自由编辑音频,必须了解这一点。比如 Oscillator CHOP 的采样率是 44100 次每秒,Filter CHOP 采样率是 60 次每秒。这就意味着,当这两者联用的时候,不可能是 1:1 的采样比,在进行乘法运算的时 候,并不会变成一个平稳上升的直线。更准确的说,前者的数据量是后者的 735 倍。也就是说,Oscillator 每过 735 个音频单元,Filter 才会有一次声音上的变化。就像下图中,蓝线是1:1 的采样比,红线是 735:1 的采样比。 再看上面这张图,当这两个不同采样率的通道相乘,有一个很明显的阶梯变化。很多CHOP 元件用 FPS 帧速度作为他们的采样单位。到项目的帧速度被设置成 30FPS 的时候,阶梯将会变得更夸张,比率将变成 1470:1。也就是说在一个帧速度为 30 的项目里,每过1470 个取样,才有一个会产生声音的变化。 上面的例子强调在项目中需要注意元件的采样率,以及按需求使用 Resample CHOP。 除此之外,也有一些情况需要让输入输出数据使用不同的采样率。 时间片段化处理机制-TimeSlicing 一个片段单位是最后渲染帧和当前渲染帧之间的时段。把时间片段想象为一个动态的值,如果一个项目稳定运行在 60 帧,那么时间片段就是 1(因为并没有掉帧)。如果这个项目的实时渲染跟不上,每次渲染中间都丢 10 帧,那时间片段就是 10(当前渲染帧和上一个 渲染帧之前实际上差了 10 帧)。 当存在掉帧现象时,时间片段化处理机制的存在就是为了平滑输出的 CHOP 数据。简单地说,时间片段化处理机制会在 CHOP 渲染的时候去考虑每个事件片段的 长度。这种机制可以看作一种自适应处理,当时间片的长度增加,CHOP 会根据丢失帧的数量做出补偿,调节帧数量,来实现平滑的输出。形成鲜明对比的是没有做时间片化处理的 CHOP。他们在最后一帧处理完数据后,不管中间丢了多少帧,都会直接跳到下一帧的数据 。只有 CHOP 元件能使用时间片段化处理机制。 在上面的例子里,如果时间轴以 30FPS 的速度持续运行,每个时间片段就是 1 帧的长度。如果在一秒钟内或者说 30 帧内,有两条线路的数值都是从 0 到 1,输出都是平滑型线路。但由于某些原因,每 10 帧才有一帧能被处理,两条线路的结果就会大不相同。在没有时间片化的线路中,在处理的那一帧,由于中间帧的丢失,数据会明显跳跃。 有做时间片化的CHOP 会注意到每过 10 帧才有一帧能被处理,所以它会在当前帧和最后一帧之间插入中间帧。这样就可以保证不论发生什么,数据都是平滑的。下图可以说明上面的例子。红线是时间片化后的输出,蓝线是没做片段化机制输出的帧,绿色垂直的线是渲染过的帧。 ** DAT 元件** 通讯方式 TD 原生支持 MIDI、 OSC、 TCP、 UDP、 UDT 以及 Websocket,所以它能跟多种系统如 Web 应用和服务、其他计算机系统、 显示控制硬件等通讯。 CHOP 元件中的 MIDI、OSC、DMX 协议 在 DAT 元件中也适用。 TCP 是因特网的标准通信协议。它是一个面向连接的协议,在通讯双方中有明确的客户端和服务器,并且在传输数据前,先要进行握手连接。这种连接是可靠的,通讯双方可以校验确认所有数据都已经被接收,也就是没有数据丢失。TCP 是一种顺序流通讯,发送方按一定顺序发送,接收方也按一定顺序接收。 而 UDP 是一种无连接的协议。数据发送前,不需要建立连接。UDP 是不可靠的,可能会产生丢包、粘包等问题,不过它的通讯速度更快。 UDT 是一种新的通讯协议,它是 TCP+UDP 的优化版。它基于 UDP,但是是有连接的可靠通讯。它用了 TCP 那套校验规则,还保持 UDP 的收发速度。 无连接协议有个好处是能多播。比如你的系统里有一大堆电脑,多播能一次性发给网络中的全部电脑。避免了逐个发给每台电脑产生的性能开销。相对应的单播,就得一台一台发。 Websocket 用于跟 Web 浏览器和实时 Web 应用通讯。它在一些双向网络通讯的功能上做了简化。 ** SOP元件** Surface 元件,亦称 SOP,在整个元件大家庭中负责处理所有与三维有关的操作。 它包含简单的三维几何体,粒子系统,建筑模型,三维字体等等。因为学习难度稍大以至于 SOP 经常被许多初学者忽视。但是请放心坚实的 SOP 操作知识将给你带来许多意外的惊喜,项目中的灵感,以及提供许多非常有效的解决问题的方法。 许多项目涉及到投影映射,实时三维运动捕捉,建筑表面 LED 空间分布,视频分层播放,而如果没有 SOP 元件这将是非常困难或者不可实现。 TouchDesigner 088 目前所支持的 3D 文件类型有: .fbx.obj.3ds.dxf.dae 保持元件的渲染流畅度是至关重要的。而当它来自 SOP 时,这一点显得尤为重要。通常的操作是将变换的动画数据给到 GeometryCOMP 元件,而不是直接给到一个 SOP 元件。因为 SOP 变换是在 CPU 上执行,并且会将几何体上的每个点都执行一次。而组件级别的变换会将三维几何体或对象视作一个整体,在GPU 上只运行一次。在 GPU 上的一个单独的操作与在 CPU 上成百上千次的操作相比,前者当然更有效率。 模型上的点数,基元数,顶点数与网格数取决于正在被执行操作模型,但基本原则都是模型的顶点或多边形面数越多,电脑操作时需要的运算能力与分配的 GPU 内存也越大。对于复杂模型 TouchDesinger 有内置工具可以减少多边形面数,但是使用专业的模型工具优化几何体会提升更大的灵活性。渲染 一个三维场景由三部分组成: 三维几何体(包含材质)摄像机照明![]() ![]() ![]()
摄像机两种类型:透视摄像机与正交摄像机 透视摄像机: 透视摄像机 ** COMP元件** 一个有趣的事实是如此庞大的 TouchDesigner 由本身的内部组件组成。理解这一点非常有助于对 TouchDesigner 的细节把握,以及理解 TouchDesigner 在项目中的运作。 例如所有的面板组件都是由其他元件组成。创建一个 Button COMP,进入它的网络,它的背景是由一个 Text TOP 创建,它的 开/关值是被一个 Panel CHOP 生成。相似的,TouchDesiger 的所有 UI 都是被创建并存储于所有项目根目录的“ui”容器内。甚至菜单与对话框,如 MIDIMapper Dialog 与 Variable Dialog 都是由 TouchDesigner 的其他组件创建。 用户界面组件 组件元件可以在 TouchDesigner 中创建用户界面这使得它显得非常重要。具体而言,Panel 组件提供这些功能。 三个用处最大的 Panel COMP: Slider COMPButton COMPContainer COMP 前两个的功能与其他应用程序中的滑块与按钮功能一样,但是可以依照需求不同而修改。按钮可以被编程为开关,单选,或者单次点击事件。滑块可以被定义为单轴滑块或全方向滑块(例如一个 UV 的二维区间) 然而,Container COMP 就仅仅是一个存放其他元件的容器,没有很特别的地方。
Phong、GLSL、与 Point Sprite 材质 以下是三种最常使用的 MAT 元件: Phong MATGLSL MATPoint Sprite MAT 这是三种不同类型的元件,可以满足大部分的着色与材质需求。
UV 贴图 对于复杂三维几何体,UV 映射是非常重要的工作。作为三维建模中的另一部分,在专业的三维建模软件中,创建与操作 UV 贴图是比较简单的。 UV 映射允许设计师和艺术家为三维几何创建有趣的动态或静态纹理。它架起了动态与静态图形的二维世界与三维几何世界的桥梁。 UV 映射有三个步骤。第一步,将三维对象展开到二维平面。这个展开的贴图称为 UV 贴图。可以把它看作是一幅地图,因为它非常像其他类型的地图,它是依据三维模型按比例精确创建出来的二维参考。如街道地图或世界地图,将三维世界放到二维平面。 第二步是创建纹理。二维 UV 贴图被艺术家和设计师用来在合成软件中创建动态或静态的纹理。UV 贴图的优点是可以将纹理精确的映射到几何体上。 第三步是纹理在三维几何上的应用。这取决于所使用的软件而有所不同。这三步合起来称为 UV 映射。第三步常在 TouchDesigner 中操作。只要三维几何从它的建模软件中正确导出,它将包含指引其他应用程序应用 UV 贴图的坐标。在这种情况下,通过 Movie In TOP 载入纹理,添加 Phong MAT 到几何体。如果需要改变 UV 贴图的应用方式,可以使用 Texture SOP。 下面是一个简单三维盒子与它的 UV 贴图案例。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |