- Видео 6
- Просмотров 7 848
percolated
Добавлен 11 ноя 2023
Generative art and TouchDesigner
Painting With an Image Palette TouchDesigner Tutorial
In this video I'll show you how to use an image library as a palette to draw any texture, based on the average color of each image.
Here's the closest palette tox you'll need: www.patreon.com/posts/closest-color-106917139
It's also available on the Derivative community board
Feel free to ask any questions you have.
Project file: www.patreon.com/posts/painting-with-110711938
Second part of the tutorial (Patreon only): www.patreon.com/posts/image-palette-2-110712220
Patreon: www.patreon.com/percolated
Instagram: percolated_
Here's the closest palette tox you'll need: www.patreon.com/posts/closest-color-106917139
It's also available on the Derivative community board
Feel free to ask any questions you have.
Project file: www.patreon.com/posts/painting-with-110711938
Second part of the tutorial (Patreon only): www.patreon.com/posts/image-palette-2-110712220
Patreon: www.patreon.com/percolated
Instagram: percolated_
Просмотров: 1 506
Видео
Wavetable Effect TouchDesigner Tutorial
Просмотров 2,4 тыс.5 месяцев назад
In this video I show you how to make a wavetable effect in TouchDesigner using instancing and the replicator COMP. If you have any questions leave them in the comments. Project file: www.patreon.com/posts/wavetable-effect-108142575 Patreon: www.patreon.com/percolated Instagram: percolated_ 0:00 Intro 1:35 Main network 30:09 Audio reactivity
Wiggle Stereoscopy in TouchDesigner
Просмотров 1786 месяцев назад
I made a patch that creates a wiggle stereoscopy effect, to make a pseudo 3D effect using a 2D texture. Here's a video that explains what wiggle stereoscopy is: ruclips.net/video/Wji2gftWAF0/видео.html Here's the file for this project (Patreon exclusive): www.patreon.com/posts/wiggle-in-105193589 Patreon: www.patreon.com/percolated Instagram: percolated_
Pixel Sorting and Datamosh Effect in TouchDesigner
Просмотров 2,7 тыс.7 месяцев назад
In this video I show you how to get a pixel sorting effect in TouchDesigner by performing pixel perfect translations inside of a feedback loop, and a datamosh effect by using the same principle to displace by exact pixel ammounts. Project file: www.patreon.com/posts/pixel-sorting-in-103884691 Patreon: www.patreon.com/percolated Instagram: percolated_ 0:00 Intro 2:16 Pixel Sorting...
3D Shape Packing in TouchDesigner
Просмотров 823Год назад
In this video I show a technique to pack 3D shapes so that they have no intersections from the point of view of a camera. This technique was greatly inspired by this article by Joe Ohara: web.archive.org/web/20221210014005/poisson.works/post/non-circular-packing-without-script-in-touchdesigner/ (the original link is not available but I found this archived version) Joe Ohara on Twitter: twitter....
I'm genuinely in love with how your Datamosh produces the most beautiful feedback loops when the Displace is set to repeat. Thank you for the tutorial, it's quite the gift!
super nice stuff <3
What did you do at 22:18 to reset it? Btw its an amazing tutorial, thank you!
I pressed 1 on my keyboard, and I have a keyboardIn chop that it’s being referenced by the feedback top’s reset parameter. Thank you!
really confused with the sequencer part and how to use it. im getting saying not enough sources. Hope you reply!!!!
What sequencer part? Can you tell me the video timestamp?
@@percolated_ Thanks for the reply! I went back and you said LFO but on screen it looked like sequencer on my end! Fixed the problem! Had to walk away and come back.
Beautiful
im still learning but curious is there a way to do the texure instancing part that you did with glsl with like tops or chops or something that isnt writing code?
Hmmm, maybe with a 3D texture or some other ingenious way I can't think of. In the long run I think this is a great opportunity to try to get the general idea of the code so that eventually you get more comfortable with glsl. I realize that me not going in detail into the code thinking that "people are often more comfortable with only using ops" is part of the reason why that happens.
GOATED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I LOVE PERCOLATED keep makin these i love ur art and the fact u share how its made :)))))
what does your Arrays look like in the glsl top in your ClosestPalette tox
I’m importing the input chop as a vec4 texture buffer. You can see it for yourself by downloading the tox from the link in the description, it’s free
@@percolated_ thanks, i downloaded your free tox but i’m on an older version of touch so it cleared out what you had on arrays. will try this when i get home. same version of glsl so should work
Oh! That didn't even cross my mind. May I ask why do you run an older version? Do you have a specific reason or did your license just run out of updates?
It says that uniform 'palette' is unasigned. Already tried putting it in the name but nothing happens
@@skeletorbike8447 Hi, I think this is something that happens when you open the tox in an older version of TD and the arrays page gets reset, like the other commenter said. Are you on the latest release? In any case, you can just go to the arrays tab on the glsl parameters and assign an array with name: Palette, type: vec4, CHOP: null1, and Array Type: Texture Buffer. And it should work. Please let me know if this doesn't fix it
You used noise here to instance each image to each pixel of the noise, can I use any image or movie instead, thanks
Yes, at the beginning I also showed an example with the default banana, you can use any input you want, a video, movie, image, etc.
@@percolated_ cool
👾🤖👽
brilliant!
Great , Fun Tutorial!
This is so awesome!
Awesome work percolated! This is the best Datamoshing tutorial for Touchdesigner!
Thank you for the video, it's actually the tutorial that I'm searching for. But there are many parts I don't get your explanation, it would be nice if next videos you have subtitle or a description on the screen to explain in detail the function of each operator and step. Thank you so so much, keep going
Thank you for your comment! Which parts did you have trouble with?
@@percolated_ Thank you for your respond, I was totally lost at the 7:30 minute, from the feedback2 CHOP, cuz I do not understand the idea of adding feedback here, why we do that ,and how it impacts the outcomes, why should we connect 2 times the null3 to the feedback2, then next is the math1, why it is there? why should we change the combined CHOPS to add? In general, as a newbie, I don't understand why some operations should be added there, what impact does it have on the outcomes
Ok so first, the adding. When you use a transform top inside of a feedback loop, every frame the translation/rotation/etc gets applied to the current image and then sent back to the feedback, so frame 1 the image would move (for example) 3 pixels to the right, and the next frame the same amount and so on... So, if we had a counter that keeps track of the total amount the image has moved at any given time, it would be at 3 pixels on frame one, 6 pixels on frame two, and so on. But what happens if the amount we want to move the image by isn't an integer? Let's see... Lets say the value we want te image to move by every frame is 1.4 pixels. Then, on frame one the total amount moved would be 1.4, then 2.8 the next frame, then 4.2. BUT, we can't actually move those fractional ammounts right? how would to move by 0.4 pixels? (unless we use interpolation), so what actually happens is that the 1.4 value gets rounded, from 1.4 to just 1, so, on frame one the total amount moved is 1, then 2, then 3. You can see that by the third frame the total (3) we get with the rounded value is way off from what we wanted (4.2). So, instead of letting the transform top do the rounding on it's own and mess everything up, we are going to keep track of the total amount of movement separately (in reality we keep track of the remainder) so that integer ammount moved and the expected, rational ammount, remain as close as posible. Here's an example: Frame 1, 2, 3, 4, 5, 6 Expected ammount moved (float) 1.4, 1.4, 1.4, 1.4, 1.4, 1.4 Ammount moved (integer) 1, 1, 2, 1, 2, 1 Expected total moved (float) 1.4, 2.8, 4.2, 5.6, 7.0, 8.4 Total moved (integer) 1, 2, 4, 5, 7, 8 Back in TouchDesigner world, what we are doing is, every frame, adding the expected float ammount to whatever remainder we have from the last frame, and getting the integer part of that total, which is the actual integer amount we are going to use for the transform, and the the rest (the rational part) we send back to the feedback so that next frame its taken into account. So we dont ever loose anything from rounding. We "hold on to it" Now, for the other questions: Why connect the null twice into the feedback? I just connected it twice because the feedback doesn't display anything if there's no input in the first slot, and i hadn't built the rest of the network at that point, you can see that later I replace that connection with a select (I didn't explain this in the video because I thought it would too long of an explanation, haha look at me now) Why the math with combine? There's no "add" CHOP, that adds two inputs, like there is an add TOP, so to add two chops together we use a math CHOP with combine CHOPs set to "add". I hope this helped and I didn't make it even more confusing :). Feel free to ask anything else if you still have questions.
goated