Now that we’re about halfway through our beginner series, let’s start going a bit deeper on each of the different types of operators.
Remember, operators is the word we use for individual nodes inside of TouchDesigner, and there are six different families of operators in TouchDesigner.
The first thing that you’ll want to learn about is the TOPs, which is short for texture operators. TOPs are some of the default ones that we have, and they’re the blueish-purple coloured ones.
TOPs work exclusively with textures. So, whether that’s images and movies, 2D drawings, getting video inputs and outputs from different kinds of hardware, all of these fall within the family of TOPs.
The next family of operators that are very important are called CHOPs (channel operators). Channel operators are focused on different kinds of signals, communication, numeric data, and control data.
We can use CHOPs to do things like make LFOs or any type of control data, whether that’s MIDI OSC coming in from other applications, or creating user interfaces with buttons and triggers. Even though the actual user interface element is coming from a different family, the control signal that it generates is going to be a CHOP.
The next important family of operators are called DATs (data operators). These are the pinky purple colour family of operators.
The first reason is that they handle all of our string level of data, and where we can keep texts, tables, and Python scripting.
You’re going to use DATs a lot in TouchDesigner; if you start talking to web APIs and doing things like using HTTP requests to get information from an API, then all of that is going to be handled in DATs.
The next family of operators is probably one of the more unique ones to TouchDesigner, which is SOPs, or surface operators, which are the light blue operators.
These are all of the operators that are focused on 3D geometry, and more specifically, procedural 3D geometry.
If you come from a Houdini background then you probably know that Houdini has laid the groundwork for what procedural 3D is, how it could work, and the power of it, and TouchDesigner builds on that in a real time sense.
SOPs are all operators focused on 3D geometry, working on 3D geometry, and working on surfaces (which is just another term for a 3D surface).
Another very important family of operators are the COMPs (component operators). COMPs serve a bunch of different functions, so it’s important that we cover each one.
What you can see when you come to the COMP page, is you already have them organized in three different columns:
In all of our other operator families, it’s just an alphabetized giant list of operators. But for COMPs, we have them subdivided even further.
One of the really important ones that you’ll start using even as a beginner are Panels (the middle column), which are basically UI elements. Anything that the user might interact with, whether it’s in a user interface or you’re making it for your own control interface, the panel components of the COMPs are where you want to be looking.
Panels also have something called container. Container is an interesting one because it serves two functions. The first is it can hold and group different elements of our user interfaces, and it can also hold other operators, so these are the operators that we can go inside of. You’re probably exclusively going to be using containers when you want to organize the different parts of your network.
Another aspect of components are the 3D Objects (the left column), and even though we said SOPs are where you do all your 3D work, the component operators handle the rendering side of our 3D operators.
They’re not like SOPs where you can plug a sphere into a thing and then have it do some stuff. Once you’re done your whole chain of SOPs, you’re going to need something like a camera or a light.
These types of elements that make up a 3D scene are contained within this 3D objects area of the COMPs.
There’s one more really important uses of COMPs: the Window COMP (which is under the “Other” column on the right). This is how you take your final product and assign it as a big window that can cover your screen or projector or LED wall. How you get from your final content to that display is going to be using a Window COMP.
The final group of operators are MATs, which are material operators, and you’ll see that there’s not that many of them.
MATs are really just for processing and working on the materials that are then going to be applied to your 3D geometries when they get rendered.
A lot of the time you’ll just be importing textures or using different videos or content that you’re generating as a texture, or other different materials like the constant material or a phong material.
If you’re coming from a 3D background, you’re probably familiar with PBRs and substance designer, and all these different kinds of materials are available inside of TouchDesigner.
All of the operators have viewers. In TouchDesigner, we can see all of the elements of the process happening, but you can also interact with all these viewers in different ways.
We learned in our previous lessons that if you left click and drag on an operator, you can drag that whole operator around.
But if you use your mouse to left click on a viewer (by left clicking on the plus button in the bottom right corner of the operator), you’ll see that all of a sudden left clicking and dragging doesn’t move the operator because now you’re interacting with the content inside.
It’s important to know that you’re interacting with the content inside of it only in the capacity of viewing. So, if you’re moving it around or zooming in, that’s not affecting the output, it’s only affecting the viewer that you’re looking at.
A good way to think about all these point data, positions, and colours, is that these things in their simplest form are just data and then our operator families visualize that data differently.
So that should give you a good foundation of operators, what the different families do, and the basics of interacting with them.
Up next, we talk about parameters!
I possess a deep knowledge in many professional fields from creative arts, technology development, to business strategy, having created solutions for Google, IBM, Armani, and more. I'm the co-founder of The Interactive & Immersive HQ. Yo!
Building off of previous Python workshops, this class aims to demystify a few of the elements often used when doing advanced Python development work in TouchDesigner. From using storage to writing your own extensions we’ll work through the several concepts that will help you better leverage Python in TouchDesigner for installations and events. From the conceptual to the concrete, by the end of the workshop you will have both worked with abstract concepts in the textport and created a functioning tool for saving presets.
Matthew Ragan
We all know user interfaces in TouchDesigner are hard. If you’ve taken our Perfect User Interfaces training you’ll know all the ins-and-outs of creating your own user interface elements from scratch. But what if you need a UI made quickly? What if you want to skip building your own UI pieces? Widgets to the rescue! Widgets are the new and powerful way to make user interfaces quickly and easily in TouchDesigner. What they lack currently in their customization, they make up for in speed of deployment and out-of-the-box features that are easy to access through their custom parameters. Combined with new features to TouchDesigner such as bindings, creating quick, scaling, and aesthetically-pleasing user interfaces is a breeze. .
Everyone has seen pictures of TouchDesigner projects with hundreds of operators and wires all over the place. Impressive, right?
No! In fact, the opposite is true. If your projects look like this, you’re seriously hampering your TouchDesigner installations – and your potential to consistently get high-profile gigs:
If you want to create large-scale installations or consistently work on projects in a professional capacity, you need a project architecture that is clean, organized, and easy to use.
The best project architectures – those used by the pros – are so streamlined that they make programming TouchDesigner look boring.
I share how to do this in my training, “TouchDesigner Project Architectures for Professionals.”
In “TouchDesigner Project Architectures for Professionals”, I give you my exact project architecture system – the same system that’s made it possible for me to create installations for Nike, Google, Kanye West, Armani, TIFF, VISA, AMEX, IBM, and more.
With my project architecture system at your disposal, you will:
We accomplish this through my 3 core project architecture concepts:
I’ve spent over 8 years refining my project architecture into an easy-to-implement, repeatable system that any designer can use. Once you learn my system, you’ll be able to take on projects you didn’t think you were capable of. You will also have the confidence you need to land better gigs and meet challenging client demands with flexibility and ease.
Want to level-up your TouchDesigner skills and create projects that can intelligently make content and generative decisions using weather and climate data?
How about installations that span forty-story high-rises that use Twitter posts to prompt generative designs?
Big clients – with big budgets – demand a level of immersion deeper than the use of Microsoft Kinect and Leap Motion interaction. They want to integrate social media, custom web apps and their own CMS to create interactive installations that bring people together in a way they haven’t experienced before.
In short, they want to use technology to become part of the broader conversation.
Fortunately for us, we’re able to deliver this level of immersion by integrating external data sources into our TouchDesigner projects.
The catch? Bringing external APIs into TouchDesigner can be challenging:
That’s why I created my latest training, “Join the Broader Conversation: How to Use External Data and APIs in Your TouchDesigner Installations”. Made for the complete Python beginner, the training provides you with everything you need to begin integrating external data sources with your TouchDesigner projects.
When you’re done you’ll be able to charge more and secure bigger projects than you would previously.
In this 1.5 hour video training (which includes example project files), we will:
Without any guidance, I’ve found that learning to integrate external data natively into TouchDesigner takes new designers between 20-40 hours – and that’s not including the trial and error phase that comes with implementing these concepts for the first time. Many people quit out of frustration.
Want to avoid spending $50,000+ on the wrong computer hardware?
Or having to look your client in the eye and say “I don’t know” when they ask why their shiny new immersive media installation looks like a stuttering, jaggy hot mess?
Then you need this training.
When I first started working with TouchDesigner in 2011, I thought the most valuable skill I had to offer was my ability to code beautiful interactive and immersive media projects for my clients.
While this IS important, I quickly realized that that what my clients valued most was my ability to create an installation that performed perfectly – no tearing, stuttering, judder, or any other issues. If you think this sounds easy, you haven’t been working with Touch long enough.
This is one of the reasons my clients pay me $1,500 per day.
When I first started, I encountered all the issues mentioned above. I overcame them with a combination of all-nighters, hiring the right (and expensive) experts, and in some cases, luck. I also wasted a lot of time and money.
With experience, I was able to preemptively solve for all these performance issues.
That’s why I created the “Creating Flawless Installations with TouchDesigner” training. Now you can benefit from my 7+ years of experience without having to make the costly mistakes I did.
After this training, you will have the confidence you need to deploy immersive design and interactive technology installations for big brands who pay top dollar for your skills. And you’ll be one of the select few individuals in this industry that know how to do what I do with TouchDesigner.
In this 1.5 hour video training (which includes example project files), we will cover:
Want to create large-scale video arrays and real-time LED facades that span high rises?
How about installations that use GPU particle systems, volumetric lighting, and multi-composite operators?
As lots of you know, this is all possible with TouchDesigner – sort of.
Out-of-the-box TouchDesigner is great when you’re just starting out. But as your interactive installations grow larger and your clients begin to want more generative and technical content, there are several challenges that arise and the cracks begin to show.
Problems typically fall into two broad categories:
When problems due to scale such as these inevitably occur, the standard TouchDesigner functionality and nodes only gets you so far. And it doesn’t take very long before you have to explain to your client that you’re unable to deliver what they’re asking for.
Lucky for us, we can leverage the code that powers a lot of TouchDesigner to create installations of virtually unlimited scale and technical possibility.
We do this by learning how to program GLSL Shaders. GLSL is the programming language on which many of the features of TouchDesigner are created even now.
When you understand how to apply GLSL to TouchDesigner, you’re effectively turning on “God Mode.”
That’s why I created my training, “Turn on God Mode in TouchDesigner with GLSL Shaders.” In it, I cover the following concepts:
TouchDesigner is the leading platform for interactive media and immersive design, and is used to create the world’s largest installations. Elburz Sorkhabi explores and explains concepts in TouchDesigner revolving around network optimization and performance bottlenecks.
The user interface (UI) is an integral part of any TouchDesigner installation.
Most clients want dynamic installations that they can control as needed, without consulting a designer or programmer for every change. This is usually through a control panel and UI they can access.
Even more important are user-facing UIs – think interactive panels, turntable additions for live shows, and customizable remote controls. This is what many clients have in mind when they decide to contract someone to design an interactive installation.
But if UIs are so central to TouchDesigner installations, why is it so hard to make them not suck? Most UIs slow down installations and break when you try and resize a component or add multiple pages. They’re also ugly.
So as always, I’m fixing the problem by providing a training.
In my latest 2-hour training, you will learn how to:
A great TouchDesigner installation needs a great user interface. Get the training you need to provide professional UI for top clients today.
Elburz deep dives on all the the inner workings of Python in TouchDesigner. This introductory course takes you from the very beginning of your Python journey and explains concepts that will create a powerful foundation for all your Python scripting in TouchDesigner.
Elburz deep dives on all the the inner workings of Python in TouchDesigner. This introductory course takes you from the very beginning of your Python journey and explains concepts that will create a powerful foundation for all your Python scripting in TouchDesigner.
Ever wonder how TouchDesigner pros work so fast? Ever see a friend or colleague do something and think “How did you do that??” Elburz puts together the top tips and tricks that everyone needs to know when working with TouchDesigner. Speed up your workflows and explore undocumented features across both the application and each operator family.
Want to level up your TouchDesigner skills and create dynamic 3D installations with interactive elements that can scale from single to multi-touch and virtual reality – all without changing anything about your setup?
Are you still trying to use 2D interactive hotspots and invisible UIs in your 3D TouchDesigner installations?
If this sounds like you, I’ve got good news and bad news.
The good news is that you’re not alone – this is how most designers start out (even some experts get away with it). It actually works okay if your 3D installations are static and the interactions are simple.
The bad news is you’re going to miss out on rich, dynamic and complex 3D projects. Anyone who has tried to create dynamic interactive 3D elements using invisible 2D UI hotspots to trigger interactivity has seen this firsthand.
Fortunately, TouchDesigner lets us use render picking to integrate 3D interactivity directly into our projects:
But render picking isn’t easy. It requires unintuitive Python scripting techniques. And to implement effectively, render picking assumes a deep understanding of TouchDesigner and the connection between instancing and multichannel manipulation of data.
It’s with this in mind that I created the “How to Create Multi-Touch 3D Installations Using Render Picking” training. In this training, I teach how you how to use Python to build native 3D interactivity directly into your 3D TouchDesigner installations.
In this training, you will learn:
The best is that I’m offering “How to Create Multi-Touch 3D Installations Using Render Picking” for $125.
Note: this training is the same content as the previous “3D Interactivity with Render Picking” training, but it has been upgraded and re-recorded. If you already bought that one, you already have access to this new one!.