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:
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.
11 Comments
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), wherexis the mouse input andkis a constant that says how fast the whole thing is.* @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.
im just sick of all the 0.005 values i have to put in. the scales are kinda off for many things in blender
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)
* @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.
* @Sombrero * It's something, at least. I'm not saying your request isn't valid or useful.
IMO better mouse wheel up/down while holding LMB + some mini popup highlighting current increment level.
* @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.
* @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.
* @IIIFGIII * Houdini is the king of this (and almost every aspect of UX), when used, I loved it.
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?