TouchDesigner for Absolute Beginners — A simple primer project

Okay so you heard about TouchDesigner and have no idea what it is. You want a quick primer before committing hours to learning it.

A disclaimer, I’m not a professional with the software nor am I affiliated with the brand. Frankly, I’ve only been using it for about 9 months. I just wanted to share some things that I wish I knew getting started.

This is what we’re gonna be making !

TouchDesigner is a procedural node-based visual programming environment.

I like to think of it as if it’s Processing, mashed with After Effects and then mashed with a 3D modelling/rendering software like Cinema4D. However, the interface uses wires and other references to transfer information from one function to another in a logical progression.

So download and set up the free to use version of TouchDesigner on your computer and open it up! You’ll see the default project which demonstrates what I mean.

The default project that is displayed on load.

We see this node-wire-node-wire layout. This is called our Network, and nodes are called Operators. Now right click, hold and drag over the entire default network and delete it. Great, that’s one way to select multiple operators in a network.

Next we’re going to add an operator called a Button. So double click and you’ll see the OP Create Dialog.

https://www.derivative.ca/wiki088/index.php?title=OP_Create_Dialog

Under the COMP heading (short for Components) click on Button. Components are pre-made operators that help complete complex tasks like rendering geometry, controlling information and more.

Now let’s double click and under CHOPs (short for Channel Operators) click on Select. This will add a Select CHOP. Channel operators are used to visualize, generate and manipulate moving pieces of information. They’re usually organized into named channels to make referencing them easier.

An example of a CHOP with multiple channels.

Next we’re going to double click and back under CHOPs add a Spring and a Trail CHOP and Null CHOP. Right now, things should look like this:

Now for the fun part, using the green connector on the right of the button, click and drag to the left connector of Select, and repeat with Spring and Trail and Null.

In order to see what this network we built is generating, there’s 2 things we need to do. You may have noticed a panel on the right that changes based on which operator you have selected. This is the Parameters panel and it’s filled with customisable properties for each operator. This panel allows you to change things like scale, position, and much much more. In our case, we’re going to click into the Button heading and change our Button Type to Momentary.

Button Selected displaying the Parameters panel with Momentary setting selected

You also may have noticed that when you click the Button you just select the operator, you did not actually trigger the button. This is because we’re not in viewer active mode. Click the plus sign on the bottom right of the operator and you’ll be able to access what’s inside the operator’s viewer, in our case, the clickable button.

A button in normal mode (left) vs. a button in viewer active mode (right).

Now when you click the button you’ll see how the information is passed along our network. The Select CHOP changes its value, the Spring CHOP is triggered and bouncing values appear, the Trail CHOP turns these values into something visible overtime (a wave) and the Null CHOP looks exactly like the Trail CHOP. We’ll get to why that is.

Now we’re going to double click and under SOPs (short for Surface Operators) we’re going to add a CHOP to SOP. Without getting into too much detail, this is a special operator which converts one type of information (Channel Information) to another (in our case Surface information).

Surface Operators are used to generate or manipulate anything that has to do with geometry. This is the part that makes Touch similar to a 3D modelling software. I will cover this more in later tutorials. Now this may sound funny but the next step is to click on your Null CHOP and drag it onto the CHOP to SOP and make sure the Parameters panel of the CHOP to SOP matches the image below.

A CHOP to SOP with Channel scope set to v1 and attribute scope set to P(1)

Back to the Null CHOP. So what we just did was reference the information of the Null CHOP and convert it into Surface information. The Null CHOP creates an endpoint for your stream of information and provides a clean, non-destructive way of referencing that information.

The CHOP to SOP basically turns moving data and math into a geometry that we can then manipulate further using Surface Operators. In our case, we could have referenced the Trail CHOP, but we may later want to manipulate that information more before it becomes converted. In that case, we would have to break our network and redo the reference. But now, since we have a Null CHOP that is being referenced instead, we can add any new operators before the Null CHOP and it would get converted. Each type of Operator has its own Null type which serves the same purpose. On that note, add a Null SOP and connect the CHOP to SOP to it.

The next step is the basis of rendering anything in TouchDesigner and I’m going to show you a trick that I find useful when first learning. Right click on the connector of the Null SOP and you’ll see the OP Create Dialog pop up again. From there, head over to the COMP tab and select a Geometry. A Geometry COMP will be created that comes already connected.

Geometry with an input connector.

If you zoom into the geometry comp by scrolling, you’ll see that there’s actually another network inside. In our case it’s just an in and out SOP. but it could be something just as complex as what we have in the upper level.

In and Out SOP in a Geo COMP

This can get complicated when referencing information and managing a network like a file structure, I’ll cover more of this later so for now zoom back up to our original network.

Another operator! Double-click and under MAT add a Wireframe. MATs are short for Materials and for now we just want a visible line so this Wireframe will be perfect. Feel free to change the color by clicking on the color swatch or by changing the RGB values in the Parameters panel. Then, click and drag your Material onto the Geo1 operator and when another menu appears click “Parm: Material”. This sets the geometry to have the wireframe material.

Material being assigned to a Geometry

So we have a Geometry COMP, but still nothing is being rendered. We need to double click and add a Camera COMP and Light COMP. Then after, double click and under TOPs (Short for Texture Operators) add a Render TOP.

Texture Operators are used for anything that has image data from videos, pictures, colors and more. This is the side of Touch that will begin to resemble After Effects or other image processing tools. You’ll see lines appear connecting everything to the the Render. This combination, Geo, Light, Camera, Render is the starting point to render anything in TouchDesigner and if you’ll be using this alot.

Camera, Light, Geo, Render set up.

The next part of the tutorial is creating a feedback loop. This is a common practice in TouchDesigner and you can get some pretty cool effects with just textures (pictures and videos). Double click beside the Render TOP, while holding control, click Feedback, Level, Blur and Comp. This is a way to add multiple operators at once. The only downside is you have move them to set them in place. Now you can connect the Render to the Feedback, the Feedback to the Level, the Level to the Blur, the blur to the Comp, and then add the render directly to the Comp. You’ll notice that there’s two wires coming out of the Render and that’s perfectly fine.

Feedback loop with Level opacity set to 0.7.

Select Level and in the Parameters under the Post tab set Opacity down to something like 0.7. Select the Comp and make sure the blend mode is set to Add.

*edit: Select the comp1 TOP and the parameter will be a drop down menu called “Operation”.

Then Click the Comp TOP and drag it over the Feedback TOP and let go. This will create the loop.

Matthew Ragan has a great tutorial on feedback here.

Now click your button and Voila! A triggered Waveform that generates a nice glowing effect.

Final product!!

I chose this project because it uses all of the operators except DATs which are difficult to learn to work with at first. I feel the best way to learn TouchDesigner is to jump right in if you know the basics of how the interface works, and from here you can actually play around and create some other really cool stuff. Try dropping in a Sphere SOP and connecting it to the Null SOP.

This project doesn’t even begin to scratch the surface of what TouchDesigner is capable of. I’m excited to share more tutorials to come. In the meantime, here are some more incredible resources that helped me learn:

  1. Matthew Ragan Tutorials
  2. Open-source TouchDesigner book by Elburz Sorkhabi
  3. The Derivative Wiki and Forum

More tutorials and resources to come.

Contact me through Instagram here if you have any further questions or what to see what I’m up to!