cancel
Showing results for 
Search instead for 
Did you mean: 

Need to disable movement completely

virtualroadside
Honored Guest
Here's what we're trying to do:

We've mounted a physical camera device on the oculus, and we just want to show the output of the camera on a texture on the scene, and overlay various indicators/whatever on the scene. So we've got that working nicely, but the camera rig keeps changing its position when the user moves their head -- which is definitely not what we want (since it's showing the outside camera output... don't need it).

Basically, we don't want it to be a VR headset right now, just want the oculus to be a nice passthrough display.

Using unity pro and the latest sdk... 0.4.3 I think?

I've seen previous suggestions to disable the UpdateAnchors() function, but that just makes the game view shake a LOT. Using the various options on the rig doesn't seem to make any difference either (disable position tracking, etc). Any thoughts on how to do this?
83 REPLIES 83

wallawocko
Honored Guest
Doing this freezes a shot of the scene, but still allows for head tracking.

It creates a "Movie screen" like effect, where you can still look around a black world, but your screen is frozen.

I (and i believe the OP) want to disable tracking whereas you cannot look around at all. How is this done?

cybereality
Grand Champion
You have to also disable time-warp, as I have mentioned.

wallawocko
Honored Guest
I have, both instances of it... Still shows this movie screen like effect.

Do you have some example code?
Trying to attach my stuff but i dont know how to on this forum...

Both Time warp and Freeze time warp are unchecked, and position tracking is checked.

Then, in my camera rig i have...

#if !UNITY_ANDROID || UNITY_EDITOR
private void LateUpdate()
#else
private void Update()
#endif
{
EnsureGameObjectIntegrity();

if (!Application.isPlaying)
return;

UpdateCameras();

if(trackingEnabled) {

UpdateAnchors();
}
}

#endregion


Any guesses?

cybereality
Grand Champion
I just tried again with my instructions, and they work fine with Unity 5.0.1f1 and Oculus 0.5.0.1 (confusing numbers I know!). The issue is almost surely that time-warp is still enabled.

Please follow these steps exactly:

viewtopic.php?f=37&t=19863#p242262

wallawocko
Honored Guest
I can email you a picture of my OVRManager script... its
Use position Tracking
[] Time warp
[] Freeze time warp
Reset tracker on Load
[] Monoscopic
[] Hdr

I'm on Unity 4.6.2f1, and i'm not sure how to check the oculus version - but i downloaded it about a week and a half ago so i doubt its out dated. Where can i check the version?

I wonder if i'm portraying what the end result is correctly - Basically when I disable the UpdateAnchors(), it essentially takes a screenshot of what the Head mounted display is looking at - so if you don't move your head, basically i have my desired effect. However, if the user then looks around, this screenshot stays put and locked, but its "movie screened" in a black world, and the user can look wherever, even behind them (and the "Screenshot" is off the screen entirely.

Have you seen this before? Do you have some sort of sample simple project so I can test something that you see working?

cybereality
Grand Champion
Yes, I've seen this exactly before. It happens when you disable tracking but have time-warp enabled.

I just ask that you follow the instructions I posted exactly (look at the code and the screenshot).

wallawocko
Honored Guest
"cybereality" wrote:
Yes, I've seen this exactly before. It happens when you disable tracking but have time-warp enabled.

I just ask that you follow the instructions I posted exactly (look at the code and the screenshot).


Have followed your instructions EXACTLY, even with the same code and variable names. Still does this "window" with a stale world, while tracking the head movements.

This even happens when I tie the "trackingEnabled" to false on scene load (and not have it based on a button toggle). Like in the script parameters.

I'm so at a loss here. This seems like something that should be simple. What could I be missing? Do you have a simple unity file with an example you could send me? or maybe post your entire OVRCameraRig?

wallawocko
Honored Guest
Hmm, Just thinking through this...

I think the issue on my application is is that i'm trying to do this as a "toggle", so the scene allowing for the tracking of the HMD initially, and then disabling it on a button press.

However, this means that the scene initially runs through "UpdateAnchors()" several times (particularly, at startup, in the Start() method, and does not just return;). Is this what attaches the camera to the Head Mounted Display (HMD)? It seems so. If so, how would I enable this "toggle" functionality? Is there any way to essentially reset the camera to be stuck where the user is currently looking?

So sad this doesnt seem to be working. No matter what I try, i get this movie screen effect. I've even changed the above now to be set through the unity editor ("Checking Disable Tracking"), and it still movie screens on me. Could it be because I have several other scenes that use this OVRCameraRig script, and have probably already run through this UpdateAnchors() method before?

**Edit** - I've even made a brand new application. Nothing in it but 1 scene which has a cube, and the OVRCameraRig prefab. Edited everything the way you said, and i still get the "Screen" effect. Help! Could this be because i'm deploying to an android device? The Samsung Gear VR. But I don't see how that would be an issue...

cybereality
Grand Champion
I don't think the toggling would mess anything up, as I have done this just checking the box I created while the game was playing and it worked fine.

wallawocko
Honored Guest
Still trying to debug this....

If i amend my OVRCameraRig to be:
if (disableTracking) {
OVRManager.display.RecenterPose();
return;
}


Then it gives me the desired effect (The scene freezing and essentially just being a monitor in front of you) and disables looking side to side, but it still has this "movie theater" effect for looking up and down.

Cyber, could you maybe email me a simple unity project that you are enabling/disabling this on? I just can't understand whats missing here...