- Home /
SteamVR has terrible tracking loss in our game
Our game seems to have terrible issues with loss of tracking in SteamVR, but we are having a tough time pinning it down. The HMD seems to lose tracking and rotate or occasionally shut off, controllers seem to jump everywhere, and occasionally the floor loses height throughout the play experience. Commercial games running on this Vive don't seem to share the same issues.
Has anyone had an experience like this that could point me in the right direction?
Not really. Did you install the S$$anonymous$$mVR plugin from the asset store?
In any case, loss of tracking usually means the base stations have problems getting detected. Try again, this time in a dimly lit room. Bright light sources tend to interfere with the sensors.
Yes, we are on S$$anonymous$$mVR plugin 1.2. Oddly, we have tested our same environment with commercial games and have no issues with tracking whatsoever.
The strange thing is that our scene is very bare-bones, basically a grey box testing environment. We are doing a bunch of network writes, perhaps that is interfering with the main thread?
Answer by yinch · Jan 18, 2017 at 08:24 AM
Hi sandworm
short version: remove or eliminate reflective surfaces.
long version: I had this in some of the locations I set up the Vive in and it was caused by smooth, reflective surfaces. Mirrors are the worst and I used to cover mine when using the Vive - but it can be caused by something as simple as a clear plastic box near the basestation. Or maybe even a window. I just read somewhere that the overhead fluorescent light fitting had reflectors which also caused tracking problems.
The issue arises because the basestation's LEDs can get reflected in the reflective surface.
One way to test is to darken the room as much as you can (you might have to wait for night time), turn off all the lights - and then turn on the Vive camera. Look around the room with the camera and you should see the glowing bulbs inside the basestations, which is normal.
THE CHECK: But now, look for reflected images of those bulbs in reflective surfaces. These will be tricking the HMD into using these reflections as their reference points.
Hope this helps
yinch
Thanks Yinch, we've done what we can, but other game experiences work fine in the same environment, so that leads be to believe it's something unique to our experience.
What I have noticed in VR simulations is that although all objects are drawn every frame, there have been numerous occasions where I have seen physics (rigid body) objects being updated every other frame - due to over-heavy physics simulation load. So, the visual frame rate can stay s$$anonymous$$dy but the physics frame rate drops - so the physics simulation skips or hops over visual frames.
The reason why I am mentioning this is that I know that the vive tracking (like all VR tracking) does smooth out the raw tracking data - this creates a little latency but the overall experience is to make the visuals be smooth. One of the ways it smooths out the motion is to extrapolate the motion of the tracked objects - with the idea that it will be close to where the next read data point will be.
You description of the drifting controllers seem to indicate that the tracked objects are not getting fresh data points and so they keep updating based on the last extrapolation. The lack of data points (and I am guessing here) is due to the "read data points" thread being starved of processor cycles i.e. something else (maybe physics, maybe lighting) is consu$$anonymous$$g more than one frame worth of processor time - in fact, possibly many frames of processor time.
See if you can get any improvements by reducing the rendering load (just experimentally) by: 1. reducing render distance 2. turning off shadows 3. reducing number of objects 4. bake the lighting if you can 5. make stationary objects into "static"
Anyway - I hope you find a solution
Thanks a lot Yinch, I will definitely check into these things. I appreciate all the help!