Pimax Developer Section + Question

This is definitely strange. The only information coming from the headset (to the app/Unity engine) is the the view geometry and the recommended resolution, which basically means two configuration options can potentially impact that:

  1. Parallel projection,
  2. FOV setting,

and the impact is indirect - i.e. the headset is not directly involved in the 3D corruption, but rather some bug in the engine (or the model data) is exposed by the different view geometry and this clearly affects only the hand model (and not the controller).

Smart Smoothing or FFR are basically done in “post-processing” and cannot corrupt specifically only one object’s geometry (and not affect the other objects in the scene).

Now for what concerns the former two, I could imagine problems with Parallel projection (or, to be precise, with the lack of it), eventually with FOV too big, or recommended render target res too big, but neither seems to be happening in your case (Small FOV with PP on should be close enough to Vive geometry).

Just to make sure, you restarted SteamVR every time you switched the FOV, or parallel projection mode?

1 Like

Thank you again for the detailed and considered replies. Yes, I did restart SteamVR each time (it actually crashes Unity sometimes [to change PiTool settings and restart SteamVR while running Unity], so I also restart Unity). But a very strange thing happened: Today I played some Serious Sam: The Last Hope with my son. After that, when I went back to developing, the hands are fine. Here are the thoughts on this:

  • He played on the system next to mine which is the original Vive and shares lighthouses with me. This works fine and has never been a problem, but maybe just having the Vive running/live is a factor (the other system is still running now but the Vive is asleep)
  • In order to play SS:TLH I have to set Compatible with Parallel projection = ON and restart SteamVR, this is understood, so I did this and we played for 30 min.
  • Now we stopped playing, I immediately tested the dev setup and the hands are fine
  • To test repeatability I switched CwPP = OFF, restarted SteamVR, tested, but the hand models did not break, i.e. they are still good, which suggests the problem is not the CwPP setting.
  • The only other test is to shut everything down and only boot my RTX/Pimax system, to see if the problem comes back, because the only difference now is that the Vive system is running and connected (not running SteamVR though). I’ll do that test after enjoying the nice hands for a while :slight_smile:
  • I was so excited to have working hands, I didn’t notice the controllers have disappeared. But that’s OK for now, maybe that’s also a factor, or maybe I switched off the controller models while experimenting with the SteamVR settings.

But generally (a) I’m very happy the hands have started working again, and (b) if I can figure out a truly repeatable case I’ll post here, but for now it may be some other factor. Thanks again for taking the time to help.

1 Like

What might have happened as well is that when you restarted SteamVR (while still running Unity, even if you restarted Unity after) either SteamVR or Unity did not restart completely/correctly and the headset geometry I was talking about in my previous post got stuck somewhere in the pipe and the changes you made did not propagated correctly. I am not that familiar with Unity though.

Anyway, you should treat Unity (IDE, server, etc) as an app and also restart it but do it in this order:

  1. Stop (everything) Unity
  2. Stop SteamVR
  3. Change PiTool parameters
  4. Start SteamVR
  5. Start Unity

If you are familiar with the projection geometry you may validate in which mode Unity actually operates (PP on/off and FOV) by checking the corresponding matrices in Unity, (which it gets from SteamVR, which SteamVR gets from the headset) Camera.GetStereoProjectionMatrix, and Camera.GetStereoViewMatrix.

3 Likes