TL;DR: Can we get a copy of Uniform Soldier Aiming along with the slider for it.
Currently zoom sensitivity is set with (or at least the math for the multipliers is based on)
(FOV while ADS) / (normal FOV)
While a decent method it’s not perfect. It’d be much better to give players control over how it’s scaled. The simple, but not very good, way to do this would be to just add a third multiplier so that the new method was
(FOV while ADS) / (normal FOV) * (Zoom Sensitivity Setting)
If you only have a single zoom level this method works okay, but when you have varying zoom levels it means massively differing sensitivities if you use anything besides 1.0 for the setting.
The best method is the one used in the Battlefield series, well described by the earlier linked post:
Uniform sensitivity defines a “control distance” on your screen, a fixed distance from crosshair, and says “anything at that distance should take the same distance of mouse movement to aim at, at every scope FOV”, then it uses clever maths to calculate how the mouse distance should translate to angular displacement changes to make that happen.
Vermintide actually somewhat does this already with its current equation. The “control distance” is effectively the distance from your crosshair to the top of your screen, for most people 540 pixels. Meaning any enemy 540 pixels away from your crosshair will take the exact same mouse movement to aim at regardless of your zoom level. The problem is that this only works at that distance. And the further away it is from that distance the more the sensitivity will be off.
Depending on your preferences having the control distance be 540 pixels may be perfect for you, but if we could pick our own control distance in settings to suit our own play style it’d be much better. The math behind this is more complicated than fov 1 divided by fov 2 but it’s still fairly simple. Basically instead of scaling sensitivity with
zoomFOV / hipfireFOV
you instead scale it with
arctan(x*tan(zoomFOV/2)) / arctan(x*tan(hipfireFOV/2))
where “x” defines your control distance in terms of distance from the crosshair to the top of your screen. So 1.0 would be the same as currently, matching 540 pixels, while Battlefield’s default of 1.33 would make it 540*1.33 pixels as the control distance. The only exception to this is with an X value of 0 which is
tan(zoomFOV/2) / tan(hipfireFOV/2)
I hope Fatshark could implement this as an option. If needed I can clarify on the math more.
A value of X may sound counter-intuitive at first but it has several advantages. The largest one being that since the “control distance” is your crosshair, your sensitivity is matched for tracking targets under your crosshair. It also maintains fairly good accuracy for most flick distances near your crosshair. Here’s an example but note that here the “match distance” is in terms of distance to the left/right side of the screen rather than to the top. Same exact mouse movement done 4 times. - Album on Imgur
A second advantage is that it scales sensitivity based on the true zoom ratio. Imgur: The magic of the Internet and Imgur: The magic of the Internet are examples.