Anyway to make X / Y follow the same level of sensitivity and smoothness?

Hello, everyone!

Recently, I’ve noticed in my game, Redshift Arena, it’s pretty much 99% impossible to snipe due to how much “snappier” aiming up / down is. Is there a way to change this? I’m currently modifying the RootCamera module script and I can’t seem to figure it out.

This issue was mentioned originally here, with no explanation on how to fix it.
https://devforum.roblox.com/t/robloxs-mouse-sensitivity/48074

The current system makes it extremely trivial to track people who are on the same level as you, but makes it impossible to aim at anything above you without your reticle aiming 40 feet above them at a distance.

I’m kind of confused on what you’re saying… but if you can change the sensitivity of the mouse you could try this:

  • Cast a ray away from the player’s camera in the direction they are facing
  • Find the magnitude (length) of the ray (if it hits or doesn’t hit)
  • Decrease/Increase mouse sensitivity by an calculated amount given the size of the magnitude of the ray

Basically, aiming up / down on Roblox is impossible with a zoomed in field of view.

I need to find a way to make it so the same level of smoothness as left / right is also applied to up / down.

If I could upload a video, I’d show you the problem I’m facing.

So basically just reduce the sensitivity?

Tried that, but it’s still snappy.

I believe to describe the problem, going left to right when scoped in is perfectly smooth. The up and down seems to be limited, where it either doesn’t move at all but jumps and stutters extremely bad. I can’t really think of a way to do this without doing a custom camera and sensitivities. I’m personally not too familiar with roblox’s core camera modules.

Don’t know if this is a repro or not, but when aiming up I don’t really notice the jumping or anything it’s quite smooth but getting on your tower and aiming at the health packs at the enemie’s base doorway seems to cause it almost every time.

Edit: Almost feels like acceleration, moving the same mouse distance slowly barely moves at all and maybe 3 times (jumps doesn’t actually move) but doing it fast I can cover a lot more for the same mouse space. (My sens is 800DPI - 0.2 Roblox, 6/11 Windows)

1 Like

I think to remove the ‘snapping’ which is inherent with ROBLOX’s implementation of first-person view Camera, you are going to really just want to… make your own camera script. This will allow you to determine your own 2d → rotational translation to have each axis have an equal transform.

(will update after I do a little research into the cam scripts)

Update: Line 32 of BaseCamera in the PlayerScripts has
local MOUSE_SENSITIVITY = Vector2.new( 0.002 * math.pi, 0.0015 * math.pi )
which determines the translation factor for x and y. Changing the values to the same will ensure that the transformation is equal for both axis. The overrided MOUSE_SENSITIVITY is automatically scaled with the users preferred Camera Sensitivty.

Instead of making a custom camera, I think you are able to set the MouseDeltaSensitivity in the UserInputService to the sensitivity you want the player to have.
For example, if you wanted to slow down the sensitivity of the mouse when zoomed in, you could do this:
game:GetService("UserInputService").MouseDeltaSensitivity = .25
This will make the mouse less sensitive, allowing for the scope to be easier to aim.
Hopefully this solved your problem!

1 Like

I already have this implemented for when you’re scoped in.

This doesn’t solve the problem of the Y axis’ smoothness being almost 0 when the FOV is below 40.

Does changing MOUSE_SENSITIVITY in BaseCamera fix the different axis scaling issue?

Changing it to 1920 x 1920 makes Y a bit smoother, but it’s still very “jagged” and sharp, but it allows you to actually aim up / down to an extent.

It seems like the Y axis has a deadzone associated with it, because if you don’t move your mouse a certain amount, your camera doesn’t move.