[Replied]Beat Saber issue

I have i7-7700K, 1080ti and fast RAM, even FO4VR runs “well”. I tested with the quite conservative “recommended” SS in SteamVR.
Tonight I’m going to test with PP on, then with no mods and then with the new BS version.

1 Like

@4nd1

The issue is with the lighting, I was playing around with it today and if you install the custom colors mod to the game and set the lighting brightness to 0, the issue totally goes away.

This does totally disable the lighting events in game and makes your menu in black and white, which creates quite a lot of glare/godrays (so much for that being solved- lol), but it also makes the game playable without any annoying distractions without parallel projections enabled :+1:

1 Like

So today I made a mod that disables the lighting component responsible for the messed up visuals on our Pimax headsets, which means you can enjoy Beat Saber without parallel projections and still have lights/colors :smiley:

Here’s a link for anyone who is interested in grabbing the mod:

Before:

After:

For more info about how to install Beat Saber mods, check out the official Beat Saber modding discord.

8 Likes

Please mod the skybox in subnautica. I’d gladly pay you!

1 Like

Maybe will consider looking into it, right now I’m looking into a global fix for Unity games that have this Pimax compatibility issue (Subnautica is a unity game :wink: )

3 Likes

brian confirmed for some kind of a fucking legend

3 Likes

Time 4 u to setup a steam workshop “pay me” account. :beers::smirk::+1::sparkles:

Getting closer to fixing the actual issue :eyes:

The lights are at least lined up correctly in each eye now, so in the hmd its not disorienting. The lights are just offset from where they should actually be…

3 Likes

Sweet! Do you know if anyone has contacted the dev about this issue? I actually took screenshots from the SteamVR mirror view to show the issue, but never put it together to post it on the Steam forums(or… where’s the best place to post it?)

1 Like

I was already directly in contact with one of the devs from the game about the issue, they are aware of it. However, it seems (in my opinion) like the issue is that the Pimax registers as a Vive and one of the built in Unity projection functions (Camera.GetStereoProjectionMatrix) is returning the projection matrix for a Vive headset, not Pimax. I’m basically just trying to modify the projection matrix right now (which is proving to be an extremely tedious task).

If anyone has actually figured out the projection matrix of a Pimax hmd, or if Pimax themselves could provide this technical information, this could be a pretty simple fix.

2 Likes

Not sure if this will help… https://community.openmr.ai/t/what-do-i-have-to-do-for-my-custom-engine-to-not-require-parallel-projection/13497/25

1 Like

That is absolutely awesome! Added you Beat saber lighting mod to free content directory. :beers::sunglasses::+1::sparkles:

@StonebrickStudios might have some insights as the dev of CyubeVR(fixed)

1 Like

These are the stereo projection matrices that UE4 uses for Pimax:

Left Eye:

			(0.485981, 0.0f, 0.0f, 0.0f),
			(0.0f, 0.7875, 0.0f, 0.0f),
			(0.345794, 0.0f, 0.0f, 1.0f),
			(0.0f, 0.0f, 3, 0.0f));

Right Eye:

			(0.485981, 0.0f, 0.0f, 0.0f),
			(0.0f, 0.7875, 0.0f, 0.0f),
			(-0.345794, 0.0f, 0.0f, 1.0f),
			(0.0f, 0.0f, 3, 0.0f));
5 Likes

it’s spelled cyubeVR :smiley:

1 Like

Fixed spelling… My bad. :beers::sunglasses::+1::sparkles:

1 Like

Had high hopes when I saw this post, but unfortunately this isn’t fixing the issue (at least this issue we’re running into on Beat Saber).

These are the values that Unity is returning for the projection matrices for my Pimax:

Right eye:
0.64759 0.00000 0.12824 0.00000
0.00000 0.78750 0.00000 0.00000
0.00000 0.00000 -1.00020 -0.20002
0.00000 0.00000 -1.00000 0.00000

Left eye:
0.64759 0.00000 -0.12824 0.00000
0.00000 0.78750 0.00000 0.00000
0.00000 0.00000 -1.00020 -0.20002
0.00000 0.00000 -1.00000 0.00000

No clue how I need to modify these matrices to align properly at all points on the screen and at all rotations, I’ve just been sitting here manually tweaking values with a script I wrote to no avail. Maybe someone else who has a clue what they’re doing could take a shot at this?

A pic of what happens with those projection matrices you posted above:


Not pretty lol.

Edit:
I think there is something important about this 0.345794 number, though. When I set _matrix[0,2] = 0.345794f for the right eye only, the lighting aligns almost perfectly when I look directly at it, and only moves off to the right hand side when I look away in any direction.

It’s obviously some rotational issue, but I have no clue how to fix it :confused:

1 Like

Have you looked at the unity sdk in the banner?

I have calculated the coefficients from which those matrices are derived (left, right, top, bottom, near and far, which are explained for example here OpenGL Projection Matrix)

Left eye projection matrix:
[[ 0.64759  0.      -0.12824  0.     ]
 [ 0.       0.7875   0.       0.     ]
 [ 0.       0.      -1.0002  -0.20002]
 [ 0.       0.      -1.       0.     ]]
n=0.100000, f=1000.100000, b=-0.126984, t=0.126984, r=0.134616, l=-0.174221

Right eye projection matrix:
[[ 0.64759  0.       0.12824  0.     ]
 [ 0.       0.7875   0.       0.     ]
 [ 0.       0.      -1.0002  -0.20002]
 [ 0.       0.      -1.       0.     ]]
n=0.100000, f=1000.100000, b=-0.126984, t=0.126984, r=0.174221, l=-0.134616
1 Like

Unfortunately I only know as much as the documentation page for Camera.GetStereoProjectionMatrix tells me (here’s a link to it in case you haven’t looked at it already).

Really not good enough at math to understand whats going on with these projection matrices at all…

1 Like