cancel
Showing results for 
Search instead for 
Did you mean: 

Custom Hands aren't as smooth as other games and main Oculus environment

bebop_dev
Protege
Downloaded the Oculus Integration package, and tested the hand prefabs in the default scene with the recommended quality settings. However, the hands still seem to be a little shaky compared to released Unity apps I've tried and the main Oculus environment. Anyone know how to fix this?
14 REPLIES 14

MikeF
Trustee
Are you testing in editor? Theres quite a bit of additional overhead there that can cause this

bebop_dev
Protege
I'm using Oculus Quest, so this is happening on all of the builds I've made so far.

Corysia
Expert Protege
I haven't noticed that the Hands in my Example project are any more/less jittery/shaky than other games.  I had a problem with held objects, but was able to fix it in my latest build.  If I wave my hands around quickly, I see some jumping as if vsync is causing some visualization artifacts.  But I see the same thing in Vader Immortal.  I think it just seems more pronounced in my project because of the color scheme and lighting.

bebop_dev
Protege
It's hard to explain, but it's like the hands are a frame behind if moving fast. They track really well, but the 3D objects look a little laggy when translating.

Anonymous
Not applicable
If the custom hands are getting their position updated in FixedUpdate then they will be a about a frame behind the actual position of your hands.

Also, if the frame rate on Oculus Quest is low the place that will be most noticeable is your hand movement. Put in a frame rate counter and make sure the app is actually running at 72 fps on the Quest.

bebop_dev
Protege
It's running at about 58-60FPS

Corysia
Expert Protege
You may have to adjust your timings.

Something like this:
switch (OVRPlugin.GetSystemHeadsetType())
{
case OVRPlugin.SystemHeadset.Oculus_Go:
case OVRPlugin.SystemHeadset.Oculus_Quest:
Time.fixedDeltaTime = 0.0138f;
break;
case OVRPlugin.SystemHeadset.Rift_S:
Time.fixedDeltaTime = 0.0125f;
break;
case OVRPlugin.SystemHeadset.Rift_CB:
case OVRPlugin.SystemHeadset.Rift_CV1:
case OVRPlugin.SystemHeadset.Rift_DK1:
case OVRPlugin.SystemHeadset.Rift_DK2:
Time.fixedDeltaTime = 0.0111f;
break;
case OVRPlugin.SystemHeadset.GearVR_R320:
case OVRPlugin.SystemHeadset.GearVR_R321:
case OVRPlugin.SystemHeadset.GearVR_R322:
case OVRPlugin.SystemHeadset.GearVR_R323:
case OVRPlugin.SystemHeadset.GearVR_R324:
case OVRPlugin.SystemHeadset.GearVR_R325:
Time.fixedDeltaTime = 0.0167f;
break;
}

bebop_dev
Protege
I'm still seeing the same hand lag. My scene has a lot of assets, but on the Custom Hands scene I still see the hand lag even with 70fps. Another note is that my graphic settings and player settings are all at the Oculus recommended values. I recorded a video snippet, but in the video the hand lag isn't visible like it is in real time with HMD itself. It's more noticeable when the hands are moving fast, but even at a slow pace it's visible.

Not sure if this could be Android Manifest related somehow? This is also a side-loaded app while in development if that makes any difference.

Corysia
Expert Protege
I have the same experience with my recordings.  They look fine.