Skip to main content
New Participant
February 2, 2015

Need to disable movement completely

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?
    This topic has been closed for replies.

    83 replies

    Inspiring
    April 24, 2015
    You have to also disable time-warp, as I have mentioned.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
    Up and Coming
    April 24, 2015
    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?
    Inspiring
    April 24, 2015
    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
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
    Up and Coming
    April 24, 2015
    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?
    Inspiring
    April 24, 2015
    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).
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
    Up and Coming
    April 26, 2015
    "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?
    Up and Coming
    April 26, 2015
    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...
    Inspiring
    April 26, 2015
    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.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
    Up and Coming
    April 26, 2015
    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...
    Inspiring
    April 27, 2015
    Yeah, sure. I can send you a project. Not sure why my instructions aren't working for you.

    The files are on my work computer, but I can check tomorrow.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV