数值滑块的建议
1.UE滑动数值界面操作逻辑不一致
请先看UE的2个录屏:(UE_Material.mp4) & (UE_DirectionalLight.mp4)
不知道你有没有发现问题,在0-无限大的材质浮点拖动操作非常智能,可以从0.01的递进单位直接跳跃到n亿,这对于调整数值非常容易操控。
但是Actor下具有最大值限制的浮点数值却缺乏这个特性,比如平行光下的DistanceField Shadow Distance 0-100000,哪怕用最慢的动作操作最小递进单位也是128,搭配Ctrl也只能做到地进单位12。
一个更贴切的例子:当点光源设为Unitless,Max=100000,此时拖动滑块最小递进单位是320,直接爆掉,实际需要的数值是0-5之间,需要精确到0.1甚至是0.01,但是即使搭配Ctrl也无法实现这种精度,导致滑块无法使用。
可否统一材质浮点这种特性呢?
2.业界领先的软件是如何优化这个问题的
我们来看2个案例,还是老样子,请先看视频:
Houdini(Houdini.mp4):
按下鼠标中间,弹出递进调整菜单,最大从100到0.0001
Nuke(Nuke.mp4):
鼠标选择某个位置时,滚动滚轮会发生调整当前位置右侧的数字,并高亮显示
鼠标选择多位数字时,滚动滚轮会发生调整最左数字,并高亮显示
建议采取Nuke的操控方式,Nuke的这种操作非常轻便灵活广泛且不需要UI,哪怕是几亿单位,仍然可以精确按照0.001或者1000的单位递进,另外,仍然可以在这种基础上强化,支持Shift加速和Ctrl减速,即:本来地进单位是1,但是Shift=10,Ctrl=0.1,如此选中一个位置就可以有三种精确递进档位。
以上是我深思熟虑的建议,如果改进,将会是非常完美的方案。
感谢!
_________________________________________________________________
Suggestions for Numeric Sliders
1. Inconsistency in UI Logic for Numeric Sliders in UE
Please refer to these two UE recordings: (UE_Material.mp4) & (UE_DirectionalLight.mp4).
You may notice an issue: for material floats that range from 0 to infinity, the drag operation is very intelligent—it can jump from increments of 0.01 directly to billions, making value adjustments highly controllable. However, float points under Actors with maximum value limits lack this feature. For example, with the Directional Light’s DistanceField Shadow Distance (0-100,000), even the slowest drag motion has a minimum increment of 128, and with Ctrl, it only goes down to 12. A more relevant case: when a Point Light is set to Unitless with Max=100,000, dragging the slider has a minimum increment of 320, which is excessive. What’s actually needed are values between 0-5 with precision down to 0.1 or even 0.01, but even with Ctrl, this precision is unachievable, making the slider unusable. Can we unify this characteristic with material floats?
2. How Leading Industry Software Optimizes This Issue
Let’s look at two examples. As before, please watch the videos:
Houdini (Houdini.mp4):
Pressing the middle mouse button pops up an increment adjustment menu, ranging from 100 down to 0.0001.
Nuke (Nuke.mp4):
When hovering over a digit, scrolling the mouse wheel adjusts the digit to the right of the current position and highlights it.
When selecting multiple digits, scrolling adjusts the leftmost digit and highlights it.
It is recommended to adopt Nuke’s control method. Nuke’s operation is lightweight, flexible, widespread, and requires no extra UI. Even with units in the millions, it can precisely increment by 0.001 or 1000. Additionally, this can be enhanced to support Shift for acceleration (e.g., base increment=1, Shift=10) and Ctrl for deceleration (e.g., Ctrl=0.1), providing three precision tiers for any selected position.
These are my carefully considered suggestions. If implemented, they would create a near-perfect solution.
Thanks!