- Видео 13
- Просмотров 28 513
jack dilaura
Добавлен 13 мар 2021
monome norns + TouchDesigner - awake in 3D: Visualization with TD - Another TouchDesigner Tutorial
In this second installment of the monome norns + TouchDesigner series, learn how to create a real-time 3D visualization in TouchDesigner of your current sequence in the awake script on the norns.
You'll work through adding OSC output of various aspects of the sequences created with the awake script, routing that information to TouchDesigner, and then working with a variety of tools in TouchDesigner to create a real-time 3D visualization. In TouchDesigner, you'll learn how to implement geometry instancing, a powerful technique that allows the use of a variety of different data sources to create and modify multiple copies of 3D geometry.
You'll work through adding OSC output of various aspects of the sequences created with the awake script, routing that information to TouchDesigner, and then working with a variety of tools in TouchDesigner to create a real-time 3D visualization. In TouchDesigner, you'll learn how to implement geometry instancing, a powerful technique that allows the use of a variety of different data sources to create and modify multiple copies of 3D geometry.
Просмотров: 500
Видео
monome norns + TouchDesigner - Control TD Particles via awake/OSC - Another TouchDesigner Tutorial
Просмотров 37811 месяцев назад
In this first installment of the monome norns TouchDesigner series, learn how to create a particle-based effect in TouchDesigner triggered by a modified awake script on the norns. You'll work through setting up OSC output from the awake script, routing that information to TouchDesigner, and then working with operators in TouchDesigner to create a particle-based visualization using the Particle ...
Instance Texturing in TouchDesigner - Another TouchDesigner Tutorial
Просмотров 2,7 тыс.Год назад
If you've started to experiment with instancing and want to take things a bit further, instance texturing is a great technique to try out! With it you'll no longer be limited to applying the same texture to all of the instances you generate. In this video, we look at applying different textures to four rectangles arranged in a grid, using the replicator COMP and the me.digits Python expression ...
Geometric Displacement - Displacement-based Feedback Effect - Another TouchDesigner Tutorial
Просмотров 2,4 тыс.3 года назад
Learn how to generate interesting geometric abstractions of any 2D TOP Texture. The effect uses displacement within a feedback loop as well as a specifically tailored displacement texture to achieve its look. IG: @jackdilaura jackdilaura
Building a Kinect Drawing Program 🎨 🖌 - Another TouchDesigner Tutorial
Просмотров 7 тыс.3 года назад
In this video, we’ll work through creating a Kinect-based drawing program within TouchDesigner. The final program will include a variety of Kinect driven functions, including drawing, erasing, cursor movement, changing the draw color, and clearing the screen. We’ll also look at adding a user interface that gives important visual cues to help the user navigate and operate the program. Tag your i...
Texture Instancing: 3D Slicing Technique - Another TouchDesigner Tutorial
Просмотров 4,9 тыс.3 года назад
In this video, we’ll work with Texture Instancing and the Phaser CHOP to break up a 2D TOP Texture into a grid, apply the grid to 3D geometry and rotate that geometry individually in 3D space. The technique makes use of a variety of more advanced techniques, including Texture Instancing, Custom Parameters, Internal Operator Shortcuts, the Script DAT, the Replicator COMP, and more! As mentioned ...
Pseudo-3D Depth Effect - Edge-based Feedback Technique - Another TouchDesigner Tutorial
Просмотров 2,4 тыс.3 года назад
In this video, we’ll look at creating a pseudo-3D depth effect in TouchDesigner, which is based on using the Edge TOP within a feedback loop. Tag your images/videos with the hashtag #tdpseudo3d if you give this technique a shot, so that we can all see the results. I’m excited to see what you make with this technique! 00:00 Intro and Overview 04:28 Text/Rectangle TOPs 14:06 The Effect: Feedback ...
TouchDesigner Spirograph using CHOPs - Another TouchDesigner Tutorial
Просмотров 8583 года назад
At the request of another RUclipsr, we'll look at recreating the Spirograph functionality found in the first video of this Spirograph series (ruclips.net/video/2TFjKU5YgAU/видео.html) using only CHOPs (and no Python code!). This will allow for you to experiment with adding further CHOPs to the network to modify the mathematical function that generates the drawing and hopefully arrive at some un...
Recreating a Classic 90s Screensaver - Mystify Your Mind - Another TouchDesigner Tutorial
Просмотров 2,4 тыс.3 года назад
The code used for the Script SOP is below the Time Stamps in this description In this video, we'll learn how to recreate the classic 90s screensaver “Mystify Your Mind” with TouchDesigner. The screensaver was originally found on the Windows 3.1, Windows 95 and Windows 98 operating systems. We make use of the Script SOP to generate the geometric shapes found in the original. The Script SOP allow...
TouchDesigner Spirograph Part 2: Drawing Modes - Another TouchDesigner Tutorial
Просмотров 7793 года назад
In this video, we'll add some additional drawing modes to the Spirograph drawing program that we created in the last video: ruclips.net/video/2TFjKU5YgAU/видео.html. This will allow for the program to draw several new styles that weren’t possible in the original (but are possible with a real Spirograph). With these new modes, we get closer to having a true recreation of the Spirograph in TouchD...
Recreating a Spirograph in TouchDesigner - Another TouchDesigner Tutorial
Просмотров 1,2 тыс.3 года назад
Check out part two of the Recreating a Spirograph in TouchDesigner series here: ruclips.net/video/30rQCGbyO7U/видео.html Learn to create a drawing program with TouchDesigner that outputs Spirograph-style drawings. As you build this network yourself and post the results to Instagram and other platforms, tag your images/videos with the hashtag #tdspirograph so that we can all see the results. I'm...
Boundary Detection and Position Limiting - Code in Description - Another TouchDesigner Tutorial
Просмотров 1,8 тыс.3 года назад
The Python code used in this tutorial is located below the video timestamps in this description. In this video, we’ll continue to look at basic video game functionality within TouchDesigner by creating a boundary detection and position limiting system for simple 2D geometry. We’ll use the system to restrict the movement of a red square based on the color values of a background image. The end re...
Asteroids-style Movement using CHOPs - Another TouchDesigner Tutorial
Просмотров 1,2 тыс.3 года назад
In this video, we’ll look at creating basic video game-style functionality within TouchDesigner by recreating the type of movement found in the early arcade game Asteroids using only CHOPs. We’ll first work on creating the visual component of the project by working with TOPs to recreate an Asteroids-style triangle ship, followed by a simple feedback loop to create the trailing effect seen in th...
hyped to have found this as i get into TD
I had no idea TouchDesigner had replicants
Nice and Easy, I like it
Absolutely fantastic tutorial! I'm on Mac and dont have a Kinect so I changed the network to work with my keyboard, like a video game
First Jakc Dilaure tutorial I can't do :(
MIne didnt worked out as well lol, still great tutorial!
I do love CHOPS
Great tutorial! I'll try to recreate it but with other geomatrical forms, perhaps circles, triangles or other
Holy shit you can just keep adding corners
Another great tutorial! Very happy with the results and versatility of the program
Great tutorial Jack! Thank you very much, it is quite funny to see how much work 2 simple lines of codes saves us from
Hello Jack! Great tutorial, loving the creativity! I was hoping you could advise with the execution, the boundary detection isn't working on my program, I've double check multiple times that my program follows yours and the code is properly typed, could you help me understand what isn't working?
This tutorial is amazing! Thank you so much, your explanations are very clear and easy to follow!
thanks for helping me understand replicants better! very clear teaching.
Can i put this on my laptop 's background?
Appreciate this tutorial. I am trying to reproduce some of the patterns shown in the movie Vertigo. Thank you!
I always get excited when I see you making TD tutorials both here and at immersivehq. Thanks Jack for being a content creator I've been following your tutorials for 2 years now :D
I have a Mac and Kinect TOP doesn't support it so what should I use instead of it
Awesome ! I will learn this ! Thank you so much !
Merci beaucoup Jack! Your num pad technique with math1, speed1 and math2 for rotation might solve a tricky problem I have with adjusting preset parameters, so this was really helpful to me - especially to learn more about CHOPS to do math. Used to love Asteroids as a kid. This could be third re - creation for me, starting with Basic on commodore 64 way back! Great memories! Even more exploration of CHOPS for math would be of interest if you are looking for topics....
Yes this was really useful to break down those equations into CHOP steps easily understood for those of us who suck at Python coding. I would welcome more tutorials on accomplishing things with CHOPS and also more on learning basic CHOP Execute python stuff. Thanks so much Jack!
Very clearly explained and quite educational Jack - thanks very much!
Thank you so much! I was looking for this so I could recreate the movement of the game "Achtung die Kurve".
Hello, may I ask why my Kinect channel added without lasso and closed?
have ypu resolved this? i have the same problem...
Check this out ..it's for generative designers ruclips.net/video/TyaVrXIgfHs/видео.html
Huge thanks for this technique, but can we do to make a smooth return to original state of image, not a hard reset of feedback?
just bring up the opacity in the level
Hi, I really like your video. I was wondering if there is anyway to change the brush instead of a rectange ?
Thaz not bad, you can do the same things by comparing the alpha value and decting if the sum is 2 (alphanoise + alpha rectangle) if 2 stop moving. You will have an overlay of one pixel that can be faked by actually using 2 rectangle one for display one for bound
You can do the same things by gerating UV , pass those to a noise or a ramp, than use a pixel effect. Use those uv to remap s texture. All can be done in s glsl comp and like 10 line of code
You can generate UV , pass it with a noise or a ramp, than use a pixelator, than use s remap.
Nice and clear speaking… better than mine 4 sure LOL
I absolutely love your tutorial style, super unique idea as well. Thank you so much.
gracias!
Thank you for tutorial!
This is amazing! Thanks Jack!!!
hi,thank you! this turorial is great! btw,could you tell me what do you use to record screen in this tutorial? Thanks you
Thank you! Glad to hear you like the tutorial! I use OBS to record my tutorials. You can find more info here: obsproject.com/
Thanks for this. Really well delivered and super interesting. I look forward to seeing more of your content :)
Thank you so much, glad to hear you enjoyed it! Actually in the process of uploading a new tutorial right now 🏗👨💻✨
@@jackdilaura Great news, Jack. Thanks! Really nice to see the TD community and content creation growing. I'm still at the early stages of learning the ropes but I'm hooked :)
amazing technique! would this work with other geometrical equations as well?
Thank you! Definitely, as long as you are able to solve for y and x, you’ll be able to assign the output of the equations to a constant CHOP as we’ve done here.
Had been looking forward to your tutorial uploads, they are reeeeaaaally helpful:) Truly appreciate for your effort!
Thank you so much! Glad to hear you're finding the tutorials helpful, more to come! 😃
rather than use the script sop + cache top, wouldn't generating the points for all the polygons then using a 4 point circle sop>copy sop>chopTo be more efficient? The cache top's only good if you have enough vram for it. or rather than use the cache top post render cache the points position instead. it's probably only a miner difference either way and a really nice intro into the script sop! Thanks for sharing.
Thanks for the great suggestions! I was originally looking for an opportunity to work with the Script SOP for the video, but I think you’re right about the performance improvements from these alternate techniques - definitely worth exploring.
As you’re building this, try changing the waveform of the LFOs that control the Script SOP to Triangle (instead of the default Sine wave). This will cause the shapes to “bounce” off the boundaries, which looks a little closer to the original.
Thanks for this! for some reason I get a script error in onValuechange..but I've double checked and it's the same as your script..I get: TypeError: unsupported operands type(s) for *: 'NoneType' and 'float'
Hi Nicholas, Thanks for reaching out, glad you liked the video! I think this might be an issue with variable assignment or syntax issue. If you get a chance, post the code from your CHOP Exec DAT as a reply and I'll take a look. It'll be easier to troubleshoot that way.
@@jackdilaura Hi Jack, thanks for checking it out: R = op('constant_null')['radius1'] r = op('constant_null')['radius2'] p = op('constant_null')['position'] def onOffToOn(channel, sampleIndex, val, prev): return def whileOn(channel, sampleIndex, val, prev): return def onOnToOff(channel, sampleIndex, val, prev): return def whileOff(channel, sampleIndex, val, prev): return def onValueChange(channel, sampleIndex, val, prev): op('pos_constant').par.value0 = (R + r) * math.cos(val) + p * math.cos((R + r) * val / r) op('pos_constant').par.value1 = (R + r) * math.sin(val) + p * math.sin((R + r) * val / r) return
@@NicholasCarn Hi Nicholas, Your code actually looks perfect! I tested it on both Mac and Windows versions of TouchDesigner and had no issues. I was able to recreate this error in one particular situation, though, which I’ll explain briefly. The TypeError: unsupported operands type(s) for *: 'NoneType' and 'float’ error occurs when one of the variables used in the equations within the onValueChange() function wasn’t correctly assigned a value. The code is saying that it can’t multiply the float values (decimal numbers) in the rest of the equation by a variable that has nothing assigned to it (NoneType). From the “*” we know that the error is occurring at a point of multiplication. We also know that the ‘NoneType’ variable is before the * sign, because it comes first in the error. If we look at our equation again, this means that it is likely your ‘p’ variable that is giving you trouble. If one of the radius values were incorrectly assigned, we would get the error TypeError: unsupported operands type(s) for +: 'NoneType' and 'float’ if it was R (radius1) and TypeError: unsupported operands type(s) for +: 'float’ and 'NoneType' if it was r (radius2). This is because these values are added together first in the equation, so if one of them was incorrectly assigned, we wouldn’t make it to the * part of the equation before receiving an error. Since everything looks good with your Python code, I’m thinking the title of the “position” CHOP channel within the constant_null might be misspelled or have an extra character added to it. Check within your Rename CHOP to see if this is the case. When I misspell the name to “position1” or “positio” in my version of the network, I get the same error that you do. If the Rename CHOP had the position channel name entered incorrectly, make sure it’s changed to read “position” (no quotes) and then right click on the CHOP Exec DAT and hit “Run Script”. This will cause the script to reload and will usually clear the error flag. Note that the error flag will not clear if you just change the CHOP channel name, the script needs to be run again. If the Rename CHOP had the position channel name entered correctly, then there is a chance that it was entered incorrectly at some point and the CHOP Exec DAT is still showing an old error. Try right clicking on it and hitting “Run Script” to see if this clears the error. I hope this helps! Let me know how you fare.
@@jackdilaura wow, thanks so much for spending the time sleuthing that one, but you got it :) It was the "position" name in the rename CHOP, I missed an 'i' and spelt "postion" by mistake. I thought I checked everything. This is why I often struggle with coding, one misspelt letter and it's hard to track down where it's gone wrong. Thanks again :)
@@NicholasCarn Amazing!! Glad to hear that fixed it. I know that struggle well, those errors can be really hard to track down, especially across different operators/pieces of code within TouchDesigner. Hope you have fun experimenting with the technique now that it’s running!
Nice tutorial reminds me of some of the difficulties I had controlling the camera with an xbox controller to to act like a spaceship. Had to tackle all this trig only to face gimble lock pushing me into quaternions (that was 4 hours of head scratching to get my own quaternion chop network working, only to find the angle chop which did everything and might be useful here too). I would like to point out that yes this is functional and pretty inspiring it isn't an accurate representation of asteroid movement. you were right about needing to use acceleration*sin/cos(O) for delta velocity, not position. you then need put Dvelocity x/y into another speed chop get velocity x/y which can then be put in another speed chop for position. You'll need to put a limit of something reasonable in each step though. Can't wait for the asteroids, lasers and explosions (I'm giving that ago sometime this week :D )
Thanks for your comment! I can only imagine the headache of trying to get that up and running, especially without the Angle CHOP. You’re spot on with the math behind this - all this network effectively does is calculate the x and y acceleration components and uses these values directly for the “position”, instead of taking the integral of those acceleration values twice via the successive speed CHOPs to get the actual position values. These changes make the final output look much more “Asteroids-like”. I’m actually in the process of making a follow-up video addressing this :) I’m excited to see what you build with it! There are so many opportunities for interesting interpretations of the graphics/animations via TouchDesigner.
@@jackdilaura I've taken what you've done so far into a geo comp instancing the ship with 2 1 pixel tops for position and rotate to vec, this can then be put in a feedback loop to instance bullets in another geo. next steps will be to compare bullet position and ships pos to asteroid pos and work out how to blow up asteroids into smaller ones or blow the ship up. It might be nice to collaborate on this, we might be able to make a procedural level based on a noise.
very cool video and technique! Thank you for making this video!
Thank you, glad to hear you like it! More to come!
Very nice! Thank you very much Jack! Could you share with us also the alternative network that you made to achieve the Spirograph without using the code? I ask this because some Spirograph use little ellipses inside the big circle instead of another circle. To achieve this through coding it would require finding the alternative mathematical formula but perhaps through TOPs you could easily substitute the geometry rolling inside? Thank you again and keep it up with your amazing tutorials! :)
Hi Riccardo, Thank you very much! Glad to hear you enjoy the tutorials. This actually sounds like a great opportunity for a video that goes over the CHOP network and the possibilities that are opened up via using CHOPs. I should have it posted in the next few days. Stay tuned!
Just wanted to give you a heads up that the video covering the Spirograph technique using CHOPs has been posted! ruclips.net/video/CsB95fy4Kf8/видео.html
For anyone who’s working through this technique - it’s actually better to attach the Constant MAT directly to the Geo COMP’s Material Parameter instead of using a Material SOP. SOPs are CPU-based and COMPs work with the GPU - you’ll have better performance when doing calculations on the GPU. It’s considered a best practice to apply materials via the Geo COMP. In the case of this network it might not make that much of a difference in terms of performance, but for those just building the network for the first time, I’d recommend making this small change. Let me know if you have any questions!
For anyone who’s working through this technique - it’s actually better to attach the Constant MAT directly to the Geo COMP’s Material Parameter instead of using a Material SOP. SOPs are CPU-based and COMPs work with the GPU - you’ll have better performance when doing calculations on the GPU. It’s considered a best practice to apply materials via the Geo COMP. In the case of this network it might not make that much of a difference in terms of performance, but for those just building the network for the first time, I’d recommend making this small change. Let me know if you have any questions!
yooooo, great tutorials, keep posting others touchdesigner tutorials pelase! ahahahha
Thank you! More to come!
really interesting approach to TD ¡
Thank you! More to come!