Infinite scroll

This is a feature that I know of in blender which is actually REALLY handy. In blender, if you are transforming something, or any value, on any object, you click, and you drag, and you can drag forever while the parameter keeps getting changed.

In touch designer, the parameter stops once your mouse hits the edge of the screen, and you have unclick, drag the mouse back, click again, and drag again, little by little, piece by piece.

It would feel so great if I could just give a giant swipe up to change a parameter by a large amount.

2 Likes

Hi @sargentpilcher,

I guess you are not talking about the value ladder but even sliders?

cheers
Markus

Oh yeah, value ladder sliders DO have infinite scroll, so it’s already implemented in certain areas. I’m specifically referring to camera movement at this point in time. Not necessarily the camera CHOP, but anytime you are rearranging the viewport in 3D space, I keep getting frustrated when my mouse hits the wall.

1 Like

@sargentpilcher I haven’t tried this tutorial by @iga_td3 out yet, but I have been planning to at some point because the technique used to achieve infinite scroll is really interesting:

There’s some clever chop logic that essentially moves the mouse pointer to the left edge of the monitor when it reaches the right edge, and vise versa, same with top, bottom etc.

Also, the way pc games handle this first person infinite mouse movement seems to be similar. if you’ve ever played a first person shooter and alt tabbed, then come back and see the mouse cursor visible again over the game, it’s often stuck in the middle of the screen, but jitters in the direction you move your mouse.

I suspect that the way this works, is that during frame N it is capturing input for frame N+1 - the mouse is positioned at the center of the screen, then it allows you to move the mouse, and it captures the position again at the end of the frame, calculating the distance traveled, then converting that into relevant camera rotation data.

Then, after that calculation is performed, the mouse is probably centered again on the screen, so that the next operation happens from center again.

As for blender, I suspect it’s something similar, though the difference is that the mouse position where you clicked down is recorded, so that when you release the mouse, the cursor is returned to it’s last visible position.

I could be totally wrong, but I’ve been trying to piece it together too, out of curiosity and the eventual need of this technique as well.

Hope this helps!

1 Like

@lucasm Thank you so much! This is an excellent resource. I look forward to learning more about the technique! It sounds very interesting!

1 Like

Hey! I’ve built a simple component to do this task, if you still need something, it’s quite light weight:

1 Like

Wow! @lucasm it looks awesome! I must be more of a newb than I realized though, because I can’t figure out how to use it :thinking: If I open it standalone it doesn’t move, and I can’t figure out how to add it as it’s own component.

hmm, if you open that toe, it should start in perform mode, and if you left click and drag with mouse it should rotate the cube and update the numbers, does it not for you?

This is sick @lucasm, thanks!

No it doesn’t move at all when I click and drag. Could it be because I’m on a Mac?

@sargentpilcher ah snap yes that is def the issue. this uses ctypes and I think some of it is windows specific functions. Sorry! maybe someone who knows this python stuff in relation to mac can comment on a work around.

@evanpierre cool!

1 Like

No worries! I will still make use of it as I dual boot with windows, but I use it 10% of the time. Thanks! :slight_smile:

1 Like