Both sides previous revision Previous revision Next revision | Previous revision |
lwc:touchdesigner [2024/08/29 12:17] – John Harrison | lwc:touchdesigner [2024/09/04 14:08] (current) – John Harrison |
---|
* click and drag operator to show in window into ''Window Operator'' parameter | * click and drag operator to show in window into ''Window Operator'' parameter |
| |
| === TOPS === |
| * **moviefilein**: use ''Cue Point'' to scrub thru a video |
| * R-click to save image |
| * ** hsvadj** is hue and saturation |
| * **over**: put input 1 over input 2 |
| * **composite**: basic compositing (difference, screen, pinlight, subtract, etc.) with unlimited inputs. Has preview grid |
| * in the ''palette'' menu choose ''tools'' -> ''blend modes'' to see all the compositing possible. |
| * in its parameter menu choose ''pulse'' to get a browser help page on this component (why pulse?) |
| * ''fixed layer'': where we get the resolution and aspect ratio |
| * **matte**: composites 1 input over another then create a matte effect using the 3rd input as the matte |
| * you can use ''matte'' to switch between 2 images if you change the ''matte channel'' in the parameters dialog to ''luminance'' |
| * use ''extend left'' and ''extend right'' to choose how the image pattern repeats in the matte channel |
| * **tile**: kaleidoscope effect |
| * **transform**: rotate, scale, repeat, etc. |
| * **layout**: layout multiple inputs into rows, columns, or grids |
| * **switch**: switch (or blend) between inputs |
| * **select**: reference a TOP from any other location: |
| * drag the TOP you wish to reference into the ''TOP'' parameter in the parameter window of ''switch'' |
| * it's sort of like a "send" and "receive" for Pd and that's all it does? |
| * **threshold**: highlight areas (white vs alpha) that are beyond a certain brightness |
| * **Blur**: ''preshrink'' reduces the resolution before the blur is applied |
| * **LumaLevel**: increase brightness of bright areas in image |
| * **Feedback**: set the target TOP by dragging the target top onto the feedback operator to create the reference |
| * **moviefileout**: create a movie, optionally with audio (using Movie Audio CHOP perhaps) and save the movie to a file |
=== CHOPS === | === CHOPS === |
| //CHOPS can be **single sample** or **multi sample**// |
* ''Select'': filter for a specific output. Example: look for DONE channel name coming out of ''timer'' chop. | * ''Select'': filter for a specific output. Example: look for DONE channel name coming out of ''timer'' chop. |
| * ''Audio Movie'': plays audio of a movie file |
| * drag ''moviefilein'' TOP onto this CHOP to get the audio of a specific movie |
| * to actually get a movie with audio then connect ''moviefilein'' TOP to ''moviefileout'' TOP then drag ''Audio Movie'' CHOP onto ''moviefileout'' TOP |
| * ''LFO'': send sine, cosine, square, pulse, etc. |
| * ''Trigger'': sort of like a fully adjustable ADSR |
| * turn ''time slice'' in the parameter window **off** to see the envelope |
| * ''Count'': increment |
| * ''Filter'': smooth the data |
| * ''Lag'': much like filter but has an accell/decel feature |
| * ''Fan'': split from a single channel to multiple channels |
| * ''Math'': can combine CHOPS or combine channels. Also tweak the range of output values/ |
| * ''Merge'': merge multiple CHOPS into 1 CHOP with different channels. Use for example when doing the same math operation on multiple CHOPS |
| * ''Switch'': switch between multiple sources |
| * ''Replace'': replace input 1 with input 2 if input 2 has data |
| * ''Fan'': take a serious of channels and fan in to 1 channel |
| * ''Timer'': |
| * ''Event'': similar to ''trigger'' but can handle multiple triggered values at different times |
| * ''Trail'': record values over time. Set ''Grow Length'' on to increase time window indefinitely. |
| * can change it to capture only when input data is cooked |
| * ''Analyze'': Average, Sum, RMS, Peaks, etc. |
| * ''Logic'': turn on or off depending on the values coming in. For example, turn on when input > 9 |
| |
== SOPS === | === multi sample === |
| * ''Pattern'': Sine, Cosine, etc. |
| * can accept another input multisample which can be combined with the pattern (see ''Combine Channels'' in the ''Channel'' tab of the parameter window) |
| * note the "extend region left" and "extend region right" |
| * ''Trim'': cut or extend the multisample |
| * ''Audioosc'': you can set the sample rate to match the sample size of a pattern CHOP or similar CHOP |
| * ''Constant'': make it multisample in the ''Channel'' tab |
| * ''Shuffle'': sequence or split multisample or single sample CHOPS together |
| * example: split a multisample CHOP with 10 points into a single sample CHOP with 10 channels by choosing ''split all samples''as the method in the parameter window |
| |
| === SOPS === |
* ''Copy'': Make a copy of the first input at the each of the vertices of the 2nd input | * ''Copy'': Make a copy of the first input at the each of the vertices of the 2nd input |
* ''Sweep'': sweep the first input along the vertices of the 2nd input like a "paper fan" | * ''Sweep'': sweep the first input along the vertices of the 2nd input like a "paper fan" |
* ''Convert'': convert object to polygon | * ''Convert'': convert object to polygon |
* ''Facet'': low poly look (?) | * ''Facet'': low poly look (?) |
| * ''Limit'': draw a line using data from multi sample CHOP |
| |
| |
=== DATS === | === DATS === |
* ''Merge'': combine multiple DAT tables | * ''Merge'': combine multiple DAT tables |
* ''Sort'': sort table | * ''Sort'': sort table |
| * ''Chop To'': drag and drop TOP into this DAT to have the data interpreted as a table |
| |
==== Connections ==== | ==== Connections ==== |
- Using LMB Drag Chop (with viewer active) into the parameter in the parameter window | - Using LMB Drag Chop (with viewer active) into the parameter in the parameter window |
- Choose ''CHOP Reference'' in the context menu | - Choose ''CHOP Reference'' in the context menu |
| - alternatively, with the CHOP viewer window active, drag the CHOP op directly onto the TOP op and choose the parameter to map to in the pop menu. |
| - With this alternative method the reference is not Python code and therefore may not be as adaptable in some situations? |
| - This appears to be the same as following the original method but choosing ''Export Chop'' except when choosing ''Export Chop'' you also seem to get a bonus export table that gets created (maybe?) |
| |
| |
=== DAT to DAT or DAT to TOP === | === DAT to DAT or DAT to TOP === |
- Using LMB Drag DAT into the DAT parameter in the parameter window. Does not need viewer active. | - Using LMB Drag DAT into the DAT parameter in the parameter window. Does not need viewer active. |
| |
| === TOP to TOP === |
| * click and drag one top onto another. Active window not necessary |
| |
==== Tips and Tricks ==== | ==== Tips and Tricks ==== |
* To see output of CHOP (single or multi value) R-click on output of CHOP and choose a ''chopto'' DAT to see as a table | * To see output of CHOP (single or multi value) R-click on output of CHOP and choose a ''chopto'' DAT to see as a table |
* optionally use the ''trail'' CHOP to see the history of values | * optionally use the ''trail'' CHOP to see the history of values |
| * Collapsing a network: select all ops in the network, R-click and choose "collapse selected" |
| * ''File''->''Export Movie'' to save a video. Suggestion: turn ''realtime'' off to avoid glitches |
| * default files are in ''Program Files''->''Derivative''->''TouchDesignerVERSION''->''Samples''->''Map'' |
| * when needing constantly changing values take a look in the ''Channel'' tab of the parameter window at ''Time Slice'' |
| |
== Chop Execute DAT == | == Chop Execute DAT == |
* To write to an operator from ''CHOP execute'' reference it with ''op('NAME_OF_OPERATOR').par.NAME_OF_PARAMETER'' | * To write to an operator from ''CHOP execute'' reference it with ''op('NAME_OF_OPERATOR').par.NAME_OF_PARAMETER'' |
* get the name of the parameter by clicking on the ''+'' to the left of the parameter in the parameter window. Example: Text parameter in text component is called ''text'' | * get the name of the parameter by clicking on the ''+'' to the left of the parameter in the parameter window. Example: Text parameter in text component is called ''text'' |
| |
| ==== Composting Operations ==== |
| * **Screen**: add two images together without producing values above white |
| |
| ==== Sending and Receiving Video ==== |
| * NDI: video over IP. Can be used for local video sharing |
| * ''NDI'' DAT shows in a table all courses and streams available |
| * ''NDI out'' TOP sends an NDI stream |
| * ''NDI in'' TOP receives NDI stream. Fill in the source name parameter |
| * Syphon (MacOS)/Spout (Windows): in and out TOPS share textures and images via shared memory on the same machine |
| * Video Stream Out: stream content over local network or internet. Send to YouTube or Twitch for example. Might be an easy way to send to VLC as well? |
| |
| ==== Built-in Variables ==== |
| * ''me.time.frame'': frame # sent by timeline at a given moment |
| |
| ==== Units ==== |
| * ''i'': index or sample |
| |
| ==== Pattern Matching ==== |
| * match 2 and 3: [2-3] |