This afternoon I’ve been playing with how to recreate an effect in TouchDesigner that I’ve used in several works already. Video feedback is a great tool to have an understanding of when working with live performers and live cameras. While I have a strong sense of how to create the effects I’m after in Isadora or AfterEffects, creating the same look in TouchDesigner is a little less intuitive than I thought it might be. With that in mind, let’s look at how to create a simple video feedback effect in order to have a deeper understanding of the Feedback Texture Operator (TOP) works.
You can create this simple string anywhere on some open network space in TouchDesigner. While you’re welcome to open up a new project, you certainly don’t have to. In order to keep my network a little more tidy while I was working through how this TOP worked, I created a new container, and isolated this network in here for the sake of my own sanity.
The Full Network
A first glance at our network is going to help us get a sense of what direction we need to head with this string of operators. We’ll start with a Constant that we’ll Transform, and then we’ll split the string so that we apply feed back to our moving texture with Feedback and a Level Top, and then Composite both strings.
By feeding the constant into a Transform TOP we can generate a little bit of motion simply and easily. First we’re going to start by changing the scale of our solid. I’ve changed my values to 1.1 and 0.1 respectively for the width and height. It doesn’t really matter how skinny we make our rectangle, only that we change the size so we can see some feedback as we progress. Next, in the Z field of the rotate parameter enter the variable $AF. TouchDesigner gives us some global variables to make building animation a little simpler. The variable $AF represents the current frame number for the internal timeline. This will give the effect of translating our rectangle at the same rate that we’re moving through frames (by default TouchDesigner is set at 60 FPS). You can speed up or slow down the rate of translation by adding a multiplier (multiplying by an integer will speed you up, multiplying by a value less than 1 will slow you down). With some simple motion built into our rectangle we can move to the feedback TOP.
Next we’ll connect the Transform TOP to a Feedback Top. We’ll have to connect our Feedback TOP to another operator in a moment in order to get the results that we’re looking for. In the meantime, know that it’s not going to look quite right until we come back to assign our Target TOP for the Feedback operator. It’s also important to note that the Feedback TOP has a bypass value. Any value above 0 will turn off the Feedback effect and simply bypass the TOP. This is can be important to keep in mind if you need to reset your display at any point during your exploration and experimentation process.
Next we’re going to pass the Feedback TOP into our Level TOP. It’s important to use a Level operator so we can control the trail that our Feedback TOP is making. Under the Post Tab on the parameters page change the Opacity value to between .89 and .95. You may elect to come back to this value in order to make some changes to achieve the particular effect you’re looking for.
Next we’re going to connect our level string to a Composite TOP, we also want to connect our Transform TOP here as well. It’s important that the Feedback string is in the top position in the Composite TOP. You also want to make sure that the Operand method is set to Over. Finally we need to go back to our Feedback TOP and specify that our Composite TOP is the Target TOP for the Feedback. We’ve not made some simple motion blur with the feedback TOP. You can continue to add additional operators in the string before or after the Level operator to change the effect you’ve created. You can also go back to the Level TOP and change the opacity in order to increase or decrease the length of the motion blur.