TouchDesigner POPs Tutorial: Sweep Text using Particles
By Okamirufu Vizualizer
Summary
Topics Covered
- Simplest Particle Transition Method
- Text-to-Points for Emitters
- Any Texture as Emitter
- Slider Controls Sweeping Effect
- PBR Shadows Add Depth
Full Transcript
Welcome to the Superfast Touch Designer tutorial series. In this tutorial, we're
tutorial series. In this tutorial, we're going to learn how to create a particle transition using any text. To achieve
this, we'll rely on simple particle system techniques made possible by the new pop family in Touch Designer. What I
want to emphasize is that I'll explain the simplest approach I've found to solve this type of effect so that you can take these ideas further and develop your own variations. With that said, let's do a quick review of what we'll
cover. Chapter one, overview. Before we
cover. Chapter one, overview. Before we
begin, let's take a look at how this network is structured. This network is divided into four main sections. At the
top, we have the control section where we'll create a keyboard in to reset the particles whenever we want to test something or change a parameter. We'll
also add a slider that will control the overall behavior of the particle transition. In the texttop section,
transition. In the texttop section, we'll create a simple logic to send text into the pop universe, converting it from an image texture into points that we can then use as particle emitters.
The particle system section will focus on using the new particle system pop, a high performance operator that lets us build basic particle systems extremely efficiently. Here we'll make our text
efficiently. Here we'll make our text act as the emitter for the system.
Finally, in the render section, we'll use a PBR material and a single light to add depth with shadows. In the
post-process area, we'll use screen space ambient occlusion to enhance the visual depth even more. All right, with that overview done, let's jump into the actual tutorial. A quick pause. If we
actual tutorial. A quick pause. If we
haven't met yet, I'm Okamir Rufu and my life's purpose is to create, inspire, and educate through my work as a creative technologist focused on touch designer. I'm jumping in just for a
designer. I'm jumping in just for a moment to let you know that I've built a growing community on school where you'll find beginner and intermediate courses, exclusive tutorials, and a library of
downloadable project files, including special bundles you won't find anywhere else. But more than that, it's an
else. But more than that, it's an active, thriving space. For example, in one of the exclusive tutorials I uploaded recently, there are already tons of people interacting, sharing
project files, asking questions, and helping each other. It goes far beyond a traditional academic setting. I've put a lot of energy into making it practical, efficient, and fun. And the best part,
this space is slowly integrating all the value I've already built on Patreon, all in one place for the same price. I truly
hope to see you there sharing knowledge, experimenting together, and asking the questions that help us all grow. I'll
leave all the links in the description.
Chapter 2, network. We'll start by creating the chop operators for the control section. First, create a
control section. First, create a keyboard in and leave all parameters as default.
Next, create a slider. If this is your first time using it, you can find it under the coom category.
After creating the slider, connect a math operator to it.
Leave this first math operator with default values. Now duplicate this math
default values. Now duplicate this math operator twice.
In the first and second math operators, keep the from range as 0 to one. For the
second math, set the two range to 2 to 50.
For the third one, set it to 0 to 360.
We'll reference these values later. I'll
explain what each one is for when we use them. Finally, activate the viewer on
them. Finally, activate the viewer on the slider so you have it visible while working.
Next, let's create the text to os section. Start with a texttop and work
section. Start with a texttop and work with your project's resolution. In my
case, since I always record tutorials in vertical format, I'll use 720x 1,280.
Use this same resolution for the rest of the operators in this section when it's necessary. Write any text you like. I'll
necessary. Write any text you like. I'll
use the one already in my project file.
Enable word wrap.
Then in the font options, select bold if your font allows it and set the font size to 100.
Adjust the horizontal align to left.
And if your text gets cut off, lower the font size. Let's try 80.
font size. Let's try 80.
Now everything looks well aligned to the left. So move the text position about 20
left. So move the text position about 20 pixels to the right.
Create a top to pop followed by a transform and then a delete operator.
The first one top to pop should be left as is. The transform is used to align
as is. The transform is used to align the mesh to the Y-axis. Move the X position by 0.5 to the right.
Now use the delete operator to remove the black background that the top to pop generates by default. This step is important because otherwise it will create thousands or even millions of
unnecessary points. Go to attribute,
unnecessary points. Go to attribute, select color, and set the threshold to 0.01.
This removes all the black background.
Now you should see a mesh made from your text.
Keep in mind that this method can work not only with text, but also with images, videos, webcam inputs, or any texture you can imagine. Once everything
is ready, connect a particle pop to this network.
Set maximum particles to 100,000 and reference that same value in the birth rate parameter.
You can leave life variance at one and change random seed to 10.
At this point, no further adjustments are needed. Now, let's connect our
are needed. Now, let's connect our controllers. Start by referencing the
controllers. Start by referencing the output of the keyboard in which by default corresponds to key1 and link it to the initialize and start parameters of the particle operator.
Next, reference the second math, the one with the range from 2 to 50 to the speed parameter of the particles.
Connect a group pop and in the attributes tab select P 0 which corresponds to the X-axis coordinates.
Now reference the first math to this parameter. This will control which
parameter. This will control which portion of the particles will be activated based on their X-axis position.
If you move the slider right now, you won't see anything yet.
For that, we need one more operator.
Create a noise followed by a null. You
can name this null end.
Reference this end inside the particle pop in the corresponding input parameter.
Now the noise is creating feedback along with the particle positions. Inside the
noise, select the name of the group we created earlier, which by default is group one.
As you can see, when moving the slider, the noise only affects the points belonging to that group.
Because the group is selecting points based on the slider values, we get a sweeping effect. Personally, I prefer
sweeping effect. Personally, I prefer the sweep from right to left. So, I'll
activate invert.
Now, let's fine-tune the noise. Set
harmonic gain to 0.5 and amplitude to 0.005. 005.
0.005. 005.
Finally, animate the noise using abs time seconds divided by 15.
Everything should be working nicely now.
Every time you move the slider, particles are activated from their origin, influenced by the noise movement, and then return.
We're controlling the particle speed with the slider, which can be done in different ways, but this is the fastest method for now. Let's move on to the render section. Connect a random to this
render section. Connect a random to this null.
We'll use it to generate random rotation movement for the boxes we'll create later with a copy. Set random size and parameter size to three.
and reference the last math the one from 0 to 360 in the value B field.
Name the output rotation.
Now create a box separately.
Use a small uniform scale of 0.008.
Connect a copy and plug the random into the second input.
In the template section of the copy, enable template rotate and select the parameter we just created.
As you can see, our particles are now tiny boxes, giving the system a greater sense of depth. Connect everything to a geo. Create a PBR material and drag it
geo. Create a PBR material and drag it inside the geo.
Add a camera, a light, and a render top.
Set the render top to match our project resolution and switch the background color to black.
Create a select at the end to visualize the output.
At first, you'll only see black until we complete the render setup. Set the
camera to orthographic projection and the ortho width to one.
Lower the metallic value in the PBR material to make the text more visible and easier to align.
For the light, increase the dimmer to three. Keep it white and switch it to
three. Keep it white and switch it to distant light.
Turn on soft shadows and adjust the camera until you notice more depth in the render. The shadows enhance the
the render. The shadows enhance the overall realism.
You can also move the slider to observe how the particles behave in motion.
To add more detail, apply screen space ambient occlusion.
Feel free to experiment with its parameters or consult the touch designer wiki to understand how each one works.
Finally, let's create a line to emphasize the sweeping motion. Create a
rectangle, connect it to a geo component, and assign a constant material with a red color.
Set the rectangle's size to 0.005 x 1.7.
Reference the first math operator to control the rectangle's x position. This
synchronizes the movement of the line with the particle sweep.
Perfect. Now all the network is working.
And remember, just as we used a top as a particle emitter, you can replace it with anything else you imagine. I hope
you've successfully completed this tutorial. If you enjoyed this video,
tutorial. If you enjoyed this video, don't forget to subscribe to the channel and smash the like button. If you have any questions, feel free to ask in the comments.
Loading video analysis...