Now that we’ve learned some of the basic fundamentals of TouchDesigner together, we’re going to start building a few things using this interactive technology.
We’re going to start with one operator family at a time and incrementally add complexity to get you more comfortable with each one.
The first family we’re going to discuss are TOPs. Remember, TOPs are texture operators and they’ll probably be the basis of many of your projects.
In our example we’re going to put together a really simple compositing network using generative text and images that we’re going to load in.
Then we’re going to composite them and make a pseudo simple small infographic display. This will show you some of the fundamentals of building networks.
So, the first thing we’re going to do is create three Movie File In TOPs (from the OP create dialogue).
Then, go to the File parameter of each one and click the plus button to get the file picker. We’re going to use some of the stock content inside of TouchDesigner. For this example, select the three images of butterflies.
Grab the first butterfly in your first Movie File In, then go to your second Movie File In, same process but grab the second one. And finally in the third Movie File In, grab the final butterfly.
What we’re going to do next is start making some text. Open the OP create dialogue, grab a Text TOP (and remember, you can do that even faster by hitting tab, typing text, hitting enter).
Create three of those as well, and move them so there is one underneath each of the butterflies.
The Text TOP has a ton of features and functionality but we’re going to keep it simple for now.
On the Text parameters page, go to the text parameter itself, double click and delete “Derivative” from in there. Then type in “butterfly 1”. The default resolution of this Text TOP is 256 by 256, which is not really conducive for our simple words.
With TOPs, if you want to change the resolution of the generator, go to the Common page in the parameters and you’ll see the resolution is available to be changed.
There’s two things you can do here. Either, you know what the resolution needs to be, and then you can type it in.
Or if you don’t know, you can go back to using the value ladder.
Middle click on the Y resolution parameter, and you can move and scrub through different resolutions on the Y axis until you find what is most suitable (and the same with the X axis).
For this example, we’re going to use the resolution 512×100. Change your other two texts to be “butterfly 2” and “butterfly 3”, and change the resolution of those to 512×100 as well.
To change the colour of all of our texts to something else, a really useful thing you can do is grab multiple operators in your selection and change the parameter of one of them and have that applied to all of them (if they’re the same kind of operator).
In our example case, because we have three Text TOPs, start with one of them, hold shift and then click on the other two. Then you’ll see they have a yellow border, and the main Text TOP has the green border.
Then go to the Colour page on the parameters and instead of a white font, you can either change the RGB values individually or use the colour picker gadget.
Click red, and it’ll put in a one for the red channel and zero and zero for green and blue, and it will do this for all of them. This is a really helpful trick that you can use when working on your networks.
Now we can start compositing and adding these things to a bigger canvas.
In my experience, the best way to start with this is to work at the smallest resolution you can work. Then at the end of the workflow, composite everything onto your big canvas.
If your big canvas is going to be a 1920 by 1080 screen, you don’t want to go straight from the butterfly onto a 1080, then your text onto a 1080, etc., you should group them into smaller chunks and then composite all those chunks on 1080p canvas. The way we do this is using another useful operator called a constant TOP.
A constant TOP is essentially a TOP that gives you a colour and a resolution.
Often you might use this just as a colour but it’s actually very useful in compositing because you can make little canvases and then composite your elements onto them.
We have 512 by 512 butterfly and 512 by 100 texts, so what you want is a 512 by 612 canvas per butterfly-text combination. We got the 612 by adding the Y of the butterfly with the Y of the text.
So create a Constant TOP, then go to Common parameters page of it, and change the resolution to 512 by 612.
We also don’t want it to have a white background, so go to Constant parameters, zero out all of the channels so it’s black but then also zero out the alpha. This will mean that it’s not only black but it’s also nothing, so that if later there’s more advanced compositing happening we don’t have to worry about having black boxes appear inside of our canvas.
So now that we have that we can start compositing and there’s a number of different ways we can do this. The first way is going to be using an Over TOP.
Over TOP is great for things like this that are simple where you want to put one thing over another and do that as quickly and as easily as possible.
You’ll see that Over has two inputs, and it takes the first input and puts it over the second input.
In this case, we want to have the canvas as the second input because that’s going to be the base layer, and then we want to put the butterfly on top of it.
When you do that, one thing you’re going notice first 512 by 612 resolution is taken by the Over. That’s because our fixed layer parameter inside the Over TOP is set to input two.
This fixed layer parameter only allows you to choose between input one and two. Essentially, it tells the operator which of the inputs to take the resolution from (which is going be the base layer that doesn’t move). And then all the other parameters affect the other layer that isn’t the fixed layer.
In this case, we actually want the fixed layer to be two which is the default. That way it takes the resolution from our canvas.
But then you’ll see that our butterfly is getting stretched because by default, the pre-fit overlay is set to fill. The pre-fit overlay gives you a bunch of options for how to take the first input that’s getting over onto the second input, and if there are different resolutions what to do about that discrepancy.
Since the default we have is fill, it takes your 512 by 512 and actually stretches it to 512 by 612. Change the pre-fit overlay to native resolution, because we don’t want our butterfly to be stretched.
We have a couple of different options here for how we want to justify that texture onto the bigger background. Right now by default it’s going to be centre and centre on the X and Y.
Go to the justify vertical parameter and set it to top. This will keep it at its native resolution but line it up with the top edge, so we’ll have room underneath to composite the text.
Now we have a butterfly on our background, and we want to take this texture and composite our text over it.
To do this, make another Over TOP, connect your first Over TOP as the second input (because this is going to be the base layer that the text is going to go on top of), then grab the output of your butterfly text and connect it to the top layer.
You’ll see the default in this case is the same where it stretches our text terribly to try and fill it for us.
First, make sure the fixed layer parameter is set in to input two, then set the pre-fit overlay to native resolution. This time, instead of justifying to the top or centre, we’re going to justify vertically to the bottom. But when we do this, it goes a little too close to the bottom, in my opinion.
The translate parameters are very helpful here to take the text that is justified to the bottom and then offset it up a bit.
Go to the little F that’s to the right of the translate parameter, and set this to pixels, to make the units in pixels (instead of fractions).
To bump the text upwards by 25 pixels, go to the translate Y parameter, and type 25.
That’s basically our first unit of butterfly. We want to do the same thing with our second and third units. You probably don’t want to be doing this manually all the time, so you can copy and paste it really easily. Right click and drag, highlight both of the Overs that we want to copy, press Ctrl + C, then Ctrl + V, and we get a copy. Don’t be afraid of the mess of wires that appears, we’ll fix that.
We’ve already covered wiring and disconnecting wires, but you can also overwrite wires very easily. For example in the new Over that we copied, we want the second butterfly with that same canvas texture. So the canvas texture is okay, we don’t need to change anything about it but we want the butterfly to be plugged in.
What you can do is either grab the output of the butterfly, connect it to the input of the Over, and that will overwrite it.
Or something useful that we can do is click on the output of the text and move your mouse so that it highlights the wire that we want to overwrite. Click on this while it’s highlighted and that overwrites wherever that wire was going with the wire that we’ve selected.
Those two ways are really easy ways to override paths, especially if you’re doing things like copying and pasting. Do the same process again for the third butterfly and text combination.
So we have our three groups now and we want to place them on a 1920 by 1080 canvas to get it ready for our final output.
We’ll follow a process very similar to what we just did. Create Constant TOP, then go to the Common parameters tab and set the resolution to 1920 by 1080.
Then go to the Constant parameters page, turn off the alpha and set the colour to zero, zero, zero (so that it’s black).
Now what we can do is use a different composite method which is using a Composite TOP.
Open the OP Create Dialogue and create a Composite TOP.
With Over TOP, it only has two inputs; whatever you want to over onto the background that you want to over it on.
But Composite TOP has a different looking input. If you compare it to the Constant, Composite has a thicker inlet than other operators. And this is called a multi-input which means that you can just keep connecting as many different things as you want into this one input.
Take your Constant, plug it into the Composite. Then take your Over two (which is our first unit of butterfly plus text), and plug that into the Composite. And then what you’re going to see is nothing (a black box inside the Composite TOP) because the default operation parameter is multiply.
Go to the operation parameter of the Composite TOP and change it and you’ll see a ton of different options, including filters, colour dodge, darker colours, exclude, frees, adds, etc.
For our example, select over as the operation parameter.
There’s one thing we have to be careful of right now because you’ll see that the resolution of the Composite TOP is 512 by 612, which is not what we want because we want the Over TOP 512 by 612 to be on top of the Constant TOP 1920 by 1080.
Go to the Composite and there’s two options.
We can either go to the transform page and change the fixed layer to be fixed layer one. If you do that what you’ll now see is that the Composite is now 1920 by 1080, and by default the pre-fit overlay is fill, so it’s stretching our butterfly to fill it.
However, what I would recommend is to keep the wiring representative of what’s happening.
Go to any of the pages of the Composite parameters and at the bottom you’ll see this little area that says input OP, where it has all the names of the inputs. In our case we can see Constant two is the first thing that gets plugged in, and Over two is the second thing that gets plugged in.
You can either click the red X’s on the right, or we can use the blue arrows on the left to rearrange them.
If you click the arrow beside over2, what you’ll see is they’ve now switched, this is now the first input. And constant two is now the second input which I think is a cleaner way of working.
Go back to the composite parameters, go to the transform page, and you have very similar options that we did with the over. Change the pre-fit overlay to native resolution.
What we want to do is move this butterfly over to the left and then put the second butterfly in the middle and then move the third butterfly to the right.
Middle click and drag on the translate parameter, (go by 0.1), and keep going until it’s at 0.3 in the negative direction on the X.
Now, make another Composite TOP. It’s going to be the second butterfly unit, so plug that in over the result of my previous composite.
Again, change the operation parameter to over, then go to the transform page, and set the pre-fit overlay to native resolution, and keep this butterfly + text in the centre.
Finally, make one more Composite TOP. And this is going to be our third butterfly over’d onto our canvas that we’ve built with two butterflies. Again, change multiply to over, and change the pre-fit to native resolution. With this third butterfly, we want it to be on the right hand side, so change the translate X parameter to 0.3.
So with even just doing these simple things, you’re starting to understand the workflow of compositing, working with some parameters, using the value ladder in real life, and then at the end of the day we get to this nice little 1920 by 1080 canvas with a couple of butterflies and a bit of text.
Now there’s two more things that we should talk about when working with TouchDesigner networks.
The first is that you always (always, always!) want to put a Null operator after you’ve reached a checkpoint in your network. And the checkpoint can be as big or as small as you like.
We could have been putting nulls after each one of the butterflies but in this case we’re just going to put a null at the end.
The Null operators (every family has one not just TOPs) don’t do anything but they serve as very useful checkpoints once you start making more and more complicated projects,
We want to have the ability to go and insert operators into the chain without having to redo a bunch of references and scripting and code. And the only way that’s possible is to have things referencing your nulls, because those are the checkpoints.
The Null operators are extremely important in preventing refactoring, which is what programmers call it when they have to go through and change a bunch of the infrastructure of the code for really no reason at all other than name changes and restructuring things.
The final thing we’re going to look at with this is a quick little trick with TOPs.
You’ll see we have this little blue ball at the bottom of the operators, and these are flags. Each family has a different set of flags.
TOPs have something called the display flag and you’ll see by default it’s off. When you turn it on though, it sets the texture that’s inside of this operator to be the background of your network.
The nice thing is you can do this with as many operators as you want and it keeps dynamically arranging them and placing them as the background.
This should be a nice and easy introduction to our first operator family, TOPs, and help you get started with interactive art.
From here, we’re going to keep building and take a look at the next operator family: CHOPs.
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!.
Learning TouchDesigner can be difficult for anyone, no matter what background you have. With all the new terminology, hundreds of operators, and unique paradigm, new users can become overwhelmed and paralyzed. In this training, I take you on a 3 hour deep dive of TouchDesigner’s basic features, fundamentals, and walk you through small example projects to introduce you to the operator families. This course sets you up to take on any of the intermediate trainings available.
Everyone always complains about the wiki. It’s hard to use, that’s a fact. What about all those hidden tutorials? And how about gigs? Where are those? Blogs and videos, where can I find those? For the first time ever, this training compiles all the TouchDesigner resources available and guides you not just in finding them, but also how to find future resources.
Want to create TouchDesigner installations with objects that interact with each other, human participants, and the environment? How about 3D scenes with objects that respond to natural forces?
Whether you’re interested in the above or are just tired of your TouchDesigner projects looking like a video game from the early 90s, the answer is Physics.
Physics is the key to unlocking a new level of realism and natural interactions in your TouchDesigner installations. Put plainly, it brings a new level of immersive fidelity and consistency to interactive installations.
But getting physics right in TouchDesigner is an uphill battle:
You can spend days, weeks, or even months trying to learn this stuff. Or, you can gain an understanding of the fundamentals in just over 2 hours with my latest training, “Physics Fundamentals: Use Physics Like A Pro in TouchDesigner.”
In “Physics Fundamentals” I give you everything you need to start leveraging physics to create interactive and immersive TouchDesigner projects of the highest caliber.
In “Physics Fundamentals,” you get:
When you’ve finished “Physics Fundamentals,” you’ll be able to add physics – one of the most in-demand TouchDesigner skills – to your interactive and immersive media repertoire.
How many times have you been on a gig and been screwed over because you didn’t have a contract in place? How often have you wished you could properly negotiate or knew the finer points of what you were actually signing? In this workshop, you’ll learn about the most common types of contracts, what all the sections mean, and how you can change them based on your requirements. The included templates give you a great reference whether you’re just getting your career started or if you’re a seasoned pro and want to review your own contracts.
Everyone has had a client ask them to make something cool with a Kinect 2. Where do you being? What can you make? Will it be hard or easy? How do we combine the Kinect info with regular TouchDesigner work that we have to do. In this workshop, I introduce you to the fundamentals of using the Kinect 2. This includes initial setup, using the invaluable Kinect Studio 2.0, demonstrating the common uses of Kinect 2 in TouchDesigner, and then talking through many of the common hardware pitfalls when using a Kinect 2 for a project.
Have you ever used high-density geometry and models in TouchDesigner to create the visually jaw-dropping interactive installations of your dreams, but come up short? You’re not alone. Creating fully functional 3D installations that look amazing and let users interact with them in real time is a major sticking point along most folk’s TouchDesigner journey.
In fact, I’d say that it’s nearly impossible to get right without knowledge of one tool: GLSL.
When you understand how to apply GLSL, you can create 3D installations on a massive scale, work with high density point clouds using sensors, and manipulate complex geometry in real time for truly interactive, large-scale immersive projects.
Over the course of 1.5 hours, this is exactly what you’ll learn in “God Mode in 3D: GLSL For 3D TouchDesigner Installations”. Through real-world examples and instruction, I give you the tools you need to begin working with GLSL in 3D today.
Note: We touched on the basics of GLSL with a focus on 2D work in a previous training, “Turn On God Mode in TouchDesigner With GLSL Shaders”. If you’re new to GLSL, I highly recommend you click here to get that course, and view it before viewing “God Mode in 3D”.
Here’s exactly what you’ll learn in “God Mode in 3D”:
For many, leveraging GLSL in TouchDesigner is the most critical step towards becoming a professional TouchDesigner developer. It’s one of those skills that separates the amateurs from the pros.
Fortunately, it’s a skill that can be acquired relatively easy with practice and the guidance provided in “God Mode in 3D”.
SOPs are tough, there’s no getting around that, but they aren’t impossible. What most people lack is a fundamental understanding of how SOPs work and the data structure that drives them. With this knowledge in hand, it’s possible to do great things with SOPs. In this training, Elburz takes you from SOP ground-zero through to making some SOP data visualizations and particle systems with attractors and metaball forces.
Getting gigs can be hard. Even something as simple as figuring out the budget can be a challenge. Whether your new to the industry or a seasoned pro, there are many factors to consider in pricing. To add even more on your plate, once you have a price, you still have to put together a nice presentation to pitch the project. In this workshop, I take you through the common process of pricing and pitching a gig to win it as quickly as possible.
Machine Learning (ML) completely transforms the capabilities of TouchDesigner.
In fact, it might be the single most important development for interactive tech and immersive media in years.
Why?
Well, most TouchDesigner developers are used to standard computer vision, which requires you to program very specific rules for every bit of data your installation ingests. If the data varies even slightly, the rules must be reprogrammed, or the installation can break.
With ML, a new relationship between data inputs and their outcomes is created. Instead of programming a set of specific rules, large datasets are fed to your computer that “train” it to understand it’s environment.
For example, without ML it’s almost impossible to get your TouchDesigner installation to recognize faces of people with hats, glasses, or beards, because there are just too many variations to create rules for. But with ML, you can train your installation to recognize what a face is by having it learn from millions of images of people.
And this is just the tip of the iceberg. From realistic landscapes generated using millions of data points, to style transfers that look just like a Monet, to near-limitless skeleton tracking, ML blows open what is possible with TouchDesigner.
But like most things interactive and immersive, it’s not that easy…
To solve these problems, I created the training “Machine Learning For TouchDesigner.” In it, I demonstrate how to leverage ML to the fullest using TouchDesigner and a program called Runway ML.
For those unfamiliar, Runway ML is an application that allows you run ML models both locally and even on their own Remote GPU cloud resources that eliminates the need for you to have custom software or hardware to leverage machine learning.
I love Runway ML so much that I’ve been collaborating with the co-founders on educational materials, and they were generous enough to offer anyone who purchases this course a $20 coupon code for remote GPU processing, which equates to over 6.5 hours of processing time.
Here’s exactly what you get in “Machine Learning For TouchDesigner”:
By the end of “Machine Learning For TouchDesigner”, you’ll have everything you need to leverage machine learning in your TouchDesigner installations immediately.
Prerequisites: To get the most out of this course, you should already have a good fundamental understanding of TouchDesigner, as well as Python and how it is used inside of TouchDesigner. We recommend our TouchDesigner 101 and Python 101 for TouchDesigner courses.