Jump to content

Robin Hood - Sherwood Builders

See the game notes for instructions on how to reduce smoothing.
Read more...

Gas Station Simulator

See the game notes for instructions on how to disable smoothing.
Read more...

Mortal Shell

See the game notes for instructions on how to disable smoothing.
Read more...

Incursion Red River

The sensitivity slider is not accurate, expect some discrepancy. Use the config file for best accuracy.
Read more...

ONCE HUMAN

Hipfire added, more aims to come. See the game notes for instructions on how to disable smoothing.
Read more...

Recommended Posts

Hey

I have a request for a feature in the calculator to be added. It's basically a (simple) formula that converts your 2D sensitivity depending on how far away you are sitting from the monitor. If you move forward your sensitivity will become too fast and if you move backwards your sensitivity will become too slow. You can test how the speed of your cursor feels by just positioning yourself at different distances from your monitor. It's very noticeable when sticking your eyes right next to your monitor and then comparing with how you normally sit.

I think this would be useful because sometimes you get a different desk or you might move your PC to the living room and use the TV, but then you are now sitting either much closer or much further away and your sensitivity won't feel right.

Here is a diagram explaining how sensitivity feels when you move forward:

5.png.71225dfc5b083534ba47d42b1fe3251f.png

As you can see, the perceived distance of your monitor will change depending on where you are sitting. As you move forward your monitor will grow and as you move backwards your monitor will shrink. We can scale the monitor distance by applying the same angle as the previous position for the new position:

5.png.8133690515b392de1ee5a45f0dd9dc86.png

Since the previous diagram only shows one direction of shift, here is another one showing both with extra labels:

3.png.d7602e8ab25713f06805237b4e052d5b.png

So after scaling either position, you can then use trigonometry to find the new monitor distance. Then once you know the new monitor distance you divide the old monitor distance with the new monitor distance to find the multiplier, which tells you by how much the monitor distance changed when you shifted. Then with this multiplier, you multiply your old 2D sensitivity to get your new sensitivity at your new sitting position.

I know in the diagram it looks like the monitor distance is from the middle of the monitor to the edge of the monitor but it doesn't matter which points you use as they both scale the same, though I would recommend just using the monitor's edge to edge distance for simplification.

 

Now I won't show you all my working, but I simplified it and came up with two formulas, one for shifting forward and one for shifting backward. I'm sure you could combine the two formulas with an if statement to figure out which direction you are shifting to.

N = new monitor distance

o = old monitor distance

s = the distance shifted

f = the furthest sitting distance

Shifting forward: N = o - (o*s)/f

Shifting backwards: N = (o*f)/(f-s)

 

This is a little example I did in Excel:

image.png.d0ecbbf25624ee9e3a9fa5201acf4ad5.pngimage.png.8ac28086f5f8374823decf12679fe377.png

 

So that is all there is to it. I think it would be great to add to the calculator.

If there is anything wrong or you need clarification I will be able to reply in Australian time.

Link to comment
  • Replies 5
  • Created
  • Last Reply

Top Posters In This Topic

I was also thinking about how the distance between your monitor affects your perceived sensitivity in 3D as well. I'm pretty certain that what's going on is that instead of converting between 2 FOVs you are converting between 3, with the 3rd based on how far you are sitting from your monitor. First you would have to convert sensitivity to make the in-game FOVs match but then convert again to match the converted game FOV with your perceived FOV. Have a look at this and tell me that this is not just another layer of monitor matching:

5a27fdd97dfdb_anglediagram10.png.e307d9c35c8b241e94fe0b75ba0ee7b8.png

The circles are fairly to scale, with 180, 90 and 45 FOVs all connected at the edges of the monitor screen. There are lines connecting to a point on the monitor, which dictate the perceived mouse movement for each FOV.

 

You could have your sensitivity in 180 FOV then have to convert to 90 FOV but then also be sitting at a 45FOV perceived distance away from the monitor. Or you could have sensitivity in 180 FOV then have to convert to 45 FOV but then also be sitting at 90FOV perceived distance away from the monitor... There are quite a few combinations when you add another layer of conversion.

I don't think you should have your cm/360 set in stone for one particular FOV - it has to convert depending on where you sit.

I'm going to try and conceptualise this and do the math and testing (you can too), but I think this explains a lot of the problems we are having with finding the right conversion method. I really have a feeling it's neither 0% nor 100% nor any kind of Viewspeed iteration so far. And I'm not even going to get into projection distortion... take it that whatever sensitivity you get for the horizontal axis will be the same sensitivity required for the vertical axis.

Edited by potato psoas
Link to comment

The math:

We know the FOV and cm/360, but we are converting because sitting distance is affecting perceived sensitivity.

If you know your sitting position then you can calculate the perceived FOV using trig (honestly, the reverse of my conversion method):

5a280fe144c04_mymethodverysimple2.png.a10bd7709e782206c3bea5d5e7531b68.png

Then you can just convert the cm/360 from your game's FOV to your perceived FOV using any method (which method is best will require testing).

Edited by potato psoas
Link to comment
5 hours ago, DPI Wizard said:

I've been thinking about this, but wasn't sure if it made sense to people. I'll look into it again!

Cool thanks

 

I'm also having some trouble converting with 0% monitor match. It keeps giving me different results in CS:GO.

5a28c824995e2_broken1.png.74f8f4b21e27028dc2c64e2225e06207.png5a28c82b78fbd_broken2.thumb.png.306c3f2b35b3fb735fb04a618ad646f6.png

As you can see the 360 rotation is both 3.4809 but it keeps giving me a different sensitivity (I want to convert from 126.945312464538 cm/360 @ 41.2206048073594 - doesn't matter which game I use to do this with). It's not just 2 times either, every time I start from scratch with a new page it changes the sensitivity.

Link to comment

So I thought about 3D and shifting again and I came up with this:

5a2bfa552caf6_perceivedmonitordistanceaftershift.png.00ad58f4cc109256b9372d1c6f0e3433.png

Assuming that the actual monitor distance and actual FOV don't change, a shift in position will cause the perceived monitor distance to grow and shrink. And since the cm/360 is consistent with the monitor distance, if the perceived monitor distance changes then so should the perceived cm/360. If it doesn't then a shift forward will feel too fast and a shift backward will feel too slow.

So how do you convert a change in sitting position? Simply find the angle of the new position using the new sitting distance and 1/2 the actual monitor distance, with trig. Then find the scaled radius using the angle of the new position and the old sitting distance, with trig. Then use the scaled radius to find the new cm/360 for the new position.

 

Thinking about this, if you feel you need a little bit more control over your aim, just sit back a bit. But if you are happy with your sensitivity and need to move then converting it based on sitting position will help heaps.

Edited by potato psoas
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...