← All ideas
  • Published 3 Apr 2021

Adjusting numeric fields with mouse - in any order of magnitude

Practical adjusting numeric fields with the mouse is currently very inconvenient, and even impossible, if the magnitude of the change is outside the hard coded range. For example, setting the power of a strong light with mouse now:

Image

It would be nice to change the increment while dragging with the mouse wheel or keyboard.

An idea:

The "UP" key pressed while dragging the numeric field (the key is configurable) multiplies the increment by ten, the "DOWN" key divides by ten.

Numeric fields would remember their last set increment (in the current Blender session), so the next time user interacting with them, he/she would not have to be set it again.

This would be a fast, user friendly and convenient way to adjust values ​​in any size range. When experimenting with various parameters, fine tuning things, it is a must.

100%

Development Status: Open

Upvote 19 Downvote 0
sombrero76
3 Apr 2021

11 Comments

Aeraglyx

Or something like a logarithmic scale. That way going from 1 > 2 would feel the same as 1000 > 2000. The response could be 2^(k*x) , where x is the mouse input and k is a constant that says how fast the whole thing is.

1
sombrero76 Author

* @Vladislav Macíček * Logarithmic scale is sometimes very effective, mostly where the perception of the adjusted value is logarithmic, for example light power. (We can't distinguish a 1000 W from a 1001 W light source, but we can distinguish 1W from 2W.)

But in the most cases linear mapping is better (with adjustable step size). Think of a modifier iteration value, where the processing time/memory usage is exponential or quadratic, like a viewport tesselation level. If value changes logarithmically, 2-3 cm mouse move right will cause the number jumps up high, what will make Blender unresponive for long time or crash.

When the value represents a scale, position, color value, or array count for example, linear increment is our natural expectation.

I think the best solution is combining the two: depending on what the parameter represents, using a linear or the logarithmic input field.

1
alexmehler

im just sick of all the 0.005 values i have to put in. the scales are kinda off for many things in blender

crumpley

hold CTRL while dragging in the numeric field and you can cover much larger amounts. Same, in the reverse, when using SHIFT while dragging (smaller increments)

sombrero76 Author

* @Stephen Bailey * CTRL just snaps floating point values to integers, and for integer values it multiplies mouse speed by 10. SHIFT divides mouse speed by 10 for floats.

These modifiers dont't help out user, who want to tune a parameter for example in the 0.002 - 0.005 range. Or when adjusting power of a 10000 W light source (effective), as I demonstrated in the video. Try this scenarios, you will understand, what am I talking about. There are a lot of parameters, where the currently available step sizes are totally useless.

crumpley

* @Sombrero * It's something, at least. I'm not saying your request isn't valid or useful.

IIIFGIII

IMO better mouse wheel up/down while holding LMB + some mini popup highlighting current increment level.

sombrero76 Author

* @IIIFGIII * Yes, this was my first idea, but graphic tablet users don't have mouse wheel. (Athough most tablets have a mechanism to simulate wheel actions.) If the key is exposed to the keymap editor, user can set to mouse wheel or keyboard or even both of these.

An other option to use mouse Y coordinate to change increment. Now mouse X dragging is changing the value itself, but Y dragging does nothing.

1
IIIFGIII

* @Sombrero * In case of graphic tablet users I don't see solution better than Houdini like. No need to invent bicycle when it already invented.

10
sombrero76 Author

* @IIIFGIII * Houdini is the king of this (and almost every aspect of UX), when used, I loved it.

michaeljohnson

Hi, there's a similar system available in TouchDesigner also - and I love it, works very well. I was dreaming of having it in Blender also. Anyone care to try to write an add-on that could do this?