How to Quickly Calibrate Sensor Data in TouchDesigner (Tutorial)
ฝัง
- เผยแพร่เมื่อ 11 ก.ย. 2024
- Get access to more content like this - including 200+ hours of TouchDesigner video training, a private Facebook group where Elburz and Matthew Ragan answer all your questions, and twice-monthly group coaching/mastermind calls - here: bit.ly/2zJ0lmt
If you’re a TouchDesigner Beginner, check out our TouchDesigner Tutorial Series! We teach you all the basics of how to use TouchDesigner, including mouse controls, hotkeys, parameters, the operator families, and more: interactiveimm...
Sensors output a lot of data. Kinects, Leap Motions, and touchscreens all output a wide range of data and tracking regions. The reality of our industry is that we often only need a small region of interest within that larger sensor space. This may seem complicated at first, but there are some easy ways of approaching it using some of the standard tools you have available to you in TouchDesigner. This includes finding calibration ranges with Trail CHOPs and Analyze CHOPs, normalization with Math CHOPs, and clamping with Limit CHOPs. With these few techniques you'll be able to quickly and easily calibrate your sensor data to track a portion of your sensor data in TouchDesigner.
This video saved my life! Thank you. Been headache about calibration between kinect with a projector until found this video. Just really simple and efficient method. Super thanks 😃
So glad to hear you found it helpful! Thanks for watching :)
impecable tutorial. simple, quick, very helpful, thanks
Thanks Emilio! Our pleasure :)
Genius trick, as usual. Having your knowledge on this matter must be crazy. Someday I'll get to work with you!
Haha you probably have lots of tricks that I'd love to learn as well!
@@TheInteractiveImmersiveHQ I've recently started with TD, but I am learning fast. Doing some experiments with Arduino and some sensors, this far. I hope that soon you'll hear of me! Thanks for your videos, Elburz :)
That's a good practical calibration technique.
Thanks, Greg! It's a great and easy technique anyone can use to normalize and grab a region of interest from a sensor, definitely a good technique to keep in the back pocket.
Very nice and smart.. unique info I was looking for.. thanks a lot, Elburz =)
No problem! Glad it was just the info you were looking for :)
Awesome advice.
Glad you think so too! I use these kind of simple tricks all the time.
Thanks
Our pleasure! Thanks for watching :)
Locking the Trail is vital. I didn't set it and it wouldn't work as soon as the mouse would stay still in a position for the whole trail time length. Thank you for the add.
I usually lock the trail since my sensor and interaction areas dont move, and once you do that after a quick calibration, you're good to go!
I did something like this for a children's exhibit where they were moving a wand in their hand. Because kids of different height were using it, the Trail was never locked, but each Analyze CHOP was sent into a Lag CHOP with (on the maximums) a quick rise and a very long drop (30 seconds), to adapt to a changing area of interest. I'll Snippet it.
Awesome point. Folks can also leave the trail unlocked and it will continuously auto-calibrate based on their range of motion of the person in the sensor's view, and having the Lag CHOP helps make the transitions between those calibrated values smoother.
This is really helpful!
Glad it was helpful! It's easy for us all to over complicate systems and processes, so it's always refreshing to simplify stuff with the tools we have readily available.
hi, sir, if you could answer me fast i would be really thankful, i need create something interactive like, im creating agame in unity and I want to use a kinetic sensor or ldr sensor, so just as this I should be able to interact with the game in the wall, can you give me suggestion. How should do it please.
The Kinect series of sensors could be a great option for this as you can get positional data of the people in front of the installation and translate that into in-game movement or triggering of functions.
Thanks for your helpful video. Can I connect something else instead of mouse?(I want to exchange a code that written in c++ to select range in cam)
Absolutely, you can connect any CHOP signal to the same system. It could be a mouse, kinect, leap motion, VR controller, or anything! That's the great part of simple workflows like this one, they are very flexible.
@@TheInteractiveImmersiveHQ
Awesome!!!
Hey, This tutorial is great, however, I have a question regarding how we can use this setup or a similar one to connect a microphone sensor from an arduino to control sound coming in that will drive the visuals. Is this something you can help with?
This technique may or may not be as helpful with audio signals, the section with Analyze CHOPs would be useful. If you're looking for more personalized help getting that setup, I'd highly recommend checking out our HQ PRO program: interactiveimmersive.io/lp/hq-pro-full-trial/
Hey, this tutorial is great! When I use the mouse in chop, it works. but I'm reading the data from a laser sensor. when I try to use math chop to read the range, I got a mistake that said: float() argument must be a string or a number, not none type. any thoughts? maybe I did something wrong with how to denoise the sensor date, but I don't know how to fix it.
It sounds like if you're using a reference in the Math CHOP that isn't working if you maybe changed the operators in the network. What do you have in the parameters for it?
this is great, thanks! what I am trying to decipher is that with leap motion, the sensor values for tx for example has a range of -0.4 to 0.7, and when converted the way you've shown, the range works. but when I move my hands away, it defaults to an average value of 0.46. how do I keep my default value to zero when my hand is not on the leap motion, and translate the rest of the values as per the math when I move my hands? hope I could explain the problem.
Hmm that's a bit of a tricky one. I'm not sure there's an easy-off-the-shelf solution I could explain in a comment. Do you happen to be in The HQ PRO? If so, we can help you there build up a few examples of this could be done.
@@TheInteractiveImmersiveHQ thanks, yeah I suppose that's a challenge. I tried using several methods, but none of them worked in my knowledge...just testing the waters playing around. Sorry not in HQ pro yet, maybe will be when im a bit more pro ☺️
@@TheLiveSquare No need to be a pro to join The HQ PRO, it's great for artist and developers of all skill levels :) One way you could do this easily, but it's definitely not the best implementation is to use an Expression CHOP after your Math CHOP and set the expression to: 0 if me.inputVal == 0.46 else me.inputVal
That way, any time the value is at 0.46, it will be overwritten by 0 and any other value will just get passed through. Not perfect, but should be quite effective.
@@TheInteractiveImmersiveHQ hey Elburz thanks for getting back so quickly on this. you're right, im still noodling around but I think it is going to the point where I need to get into this seriously. I have a particular mission at hand so I think it will be really good to build some foundation and join pro to really take it up to where I want!! are you currently doing your twitch sessions as well?