Forum Discussion
cyril3d
13 years agoHonored Guest
IPD settings and key mapping
Hi I can't find which file contains the 0.064 IPD except the CameraController.cs file but even if I change the IPD value in this file and buid the project, when I press the space bar in the demo th...
CosbyTron
13 years agoHonored Guest
Could someone help me out with a quick sanity check? I'm not sure if what I'm seeing is unique to my setup.
Like I mentioned earlier, changing the IPD value in OVRCameraController doesn't actually change anything for me. Likewise, using SetIPD() from another script isn't changing anything either. It's the strangest thing, but the IPD variable seems to be cached somewhere. There must be something wonky with my Unity config, or I've got a script somewhere else that's causing the problem, but would someone else mind repeating the quick test below to see if you can reproduce the problem?
Just to throw it at the wall and see what happened, I created a new variable in OVRCameraController float myIPD = 100.0f (using a huge value so the effect will be obvious). Then, in UpdateCameras() changed
float eyePositionOffset = -IPD * 0.5f;
and
eyePositionOffset = IPD * 0.5f;
to
float eyePositionOffset = -myIPD * 0.5f;
and
eyePositionOffset = myIPD * 0.5f;
This works. The cameras are clearly 100 units apart.. then I change the value of myIPD to 0.064f and recompile.. the cameras are STILL 100 units apart. I can keep recreating this. Each new variable I substitute in UpdateCameras() works the first time, and is then locked into that value forever.
This could be a very simple C# or Unity feature I'm not familiar with. Or it could be gremlins in my computer. Can someone else repeat the above and see if they have similar (mis)fortune?
Like I mentioned earlier, changing the IPD value in OVRCameraController doesn't actually change anything for me. Likewise, using SetIPD() from another script isn't changing anything either. It's the strangest thing, but the IPD variable seems to be cached somewhere. There must be something wonky with my Unity config, or I've got a script somewhere else that's causing the problem, but would someone else mind repeating the quick test below to see if you can reproduce the problem?
Just to throw it at the wall and see what happened, I created a new variable in OVRCameraController float myIPD = 100.0f (using a huge value so the effect will be obvious). Then, in UpdateCameras() changed
float eyePositionOffset = -IPD * 0.5f;
and
eyePositionOffset = IPD * 0.5f;
to
float eyePositionOffset = -myIPD * 0.5f;
and
eyePositionOffset = myIPD * 0.5f;
This works. The cameras are clearly 100 units apart.. then I change the value of myIPD to 0.064f and recompile.. the cameras are STILL 100 units apart. I can keep recreating this. Each new variable I substitute in UpdateCameras() works the first time, and is then locked into that value forever.
This could be a very simple C# or Unity feature I'm not familiar with. Or it could be gremlins in my computer. Can someone else repeat the above and see if they have similar (mis)fortune?
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 6 months ago
- 2 months ago