Search Unity

The Oculus Rift experience - Tell us what you think!

Discussion in 'Editor & General Support' started by Thomas-Pasieka, Feb 13, 2014.

  1. thorp

    thorp

    Joined:
    Dec 6, 2013
    Posts:
    9
  2. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    Where you guys getting this info from, is there some threads on official rift forum?
     
  3. Dave-Hampson

    Dave-Hampson

    Unity Technologies

    Joined:
    Jan 2, 2014
    Posts:
    150
    Hi everyone,

    Just wanted to let people with an interest in the Rift and Unity know about patch release 4.5.2p2.
    This release completely changes how fullscreen mode is handled which should hopefully improve working with the DK1 and DK2. It also lets you select the output monitor from the initial dialog.

    Here are some useful URLs:

    Patch release thread: http://forum.unity3d.com/threads/unity-patch-releases.246198/#post-1711628

    Direct link to Windows installer: http://beta.unity3d.com/download/8354998877/UnitySetup_update-4.5.2p2.exe

    Oculus Forum thread for giving feedback: https://developer.oculusvr.com/forums/viewtopic.php?f=37&t=11252

    Reddit post for giving feedback: http://www.reddit.com/r/oculus/comments/2bzm9d/unity_452p2_released_with_option_to_select_output/

    Dave
     
  4. JonDadley

    JonDadley

    Joined:
    Sep 2, 2013
    Posts:
    139
    Out of interest, are you working with OVR at all on the fix for the Deferred shading issue with their 0.4 SDK? For those that don't know, the shadows in deferred rendering are completely broken now as 0.4 uses a custom camera projection matrix. This is stalling a number of projects from becoming DK2 ready (Technolust, Dreadhalls and my own project Stage Presence). More info on the issue here: https://developer.oculusvr.com/forums/viewtopic.php?f=34&t=11014
     
  5. Thomas-Pasieka

    Thomas-Pasieka

    Joined:
    Sep 19, 2005
    Posts:
    2,174
    Thanks for the update Dave! That's great to hear :)
     
  6. Dave-Hampson

    Dave-Hampson

    Unity Technologies

    Joined:
    Jan 2, 2014
    Posts:
    150
    I've just replied to this thread using my newer more 'official' Unity account to see if I can find out the Unity bug ID, and from there I can see if it's already fixed in trunk and possibly get it into one of our patch releases.

    Sounds kind of similar to the cubemap thing which was recently fixed doesn't it? An assumption somewhere in the code that the projection matrix is of a certain form.
     
  7. hoesterey

    hoesterey

    Joined:
    Mar 19, 2010
    Posts:
    659
    3 biggest issues for me:

    1) Performance with multiple cameras
    2) Needing to hack around SDK in order to have more then 2 cameras for different clip plans (cockpit camera and world camera)
    3) No native support for keeping the mouse separate from head movement. I got this working with a bit of a hack so no need to fix this as long as something in engine does not change to break the hack. ;) see this video:

    (notice the red ball moving around. That is the mouse. It moves separate from the head, but cannot go "off screen" and is drug by the head movement when at an extent) REALLY need this type of behavior not to get broke by future changes.

    P.S.
    Please fix "grab pass" shader bug with multiple cameras and differed rendering!
     
  8. aleiby

    aleiby

    Joined:
    Mar 14, 2012
    Posts:
    13
    I was pointed to provide feedback here for Dave:
    ---
    I was excited to learn that a monitor select mode had been added.

    In DX9, I notice that it is grayed out in Fullscreen Exclusive mode, and with Fullscreen Window mode, the refresh rate is locked to that of the desktop compositor (e.g. with the Oculus Rift DK2 which runs at 75hz, it only updates at 60hz - presumably because that's what my primary monitor's refresh rate is).

    DX11 seems to work with fullscreen exclusive mode, however it does not appear to obey vsync settings (I was seeing tearing).

    A final nit-pick - it would be great if the display resolution list reflected only the display modes that are supported by the currently selected monitor.
     
  9. thorp

    thorp

    Joined:
    Dec 6, 2013
    Posts:
    9
    Got word this morning that my DK2 is ready to ship, which motivated me to update to Unity 4.5.3 and OVRSDK 0.4.1.

    In Unity 4.5.3/MacbookPro and OVR 0.4.1 there appears to be an issue with the game tab. I'm not sure if its on the unity or oculus side. When the game tab is attached to the main editor window, the oculus program displays correctly. If the tab is torn off and the app rerun it shows a black window.

    This situation really disrupts the Unity development experience. Instead of just pressing the play button, I have to build and run the app (which works fine).

    When I checked through the Oculus forum I found that a thread had already been started on this issue. The thread is here:
    Grey Display in Unity (Mac)
    https://developer.oculusvr.com/forums/viewtopic.php?f=37&t=12449&p=169331#p169331
     
  10. ggunhouse

    ggunhouse

    Joined:
    Nov 18, 2009
    Posts:
    59
    I recently received a DK2, and though I encountered some common problems -- trouble getting video out to HMD, etc. -- it has been working remarkably well for me. I've had no trouble converting the simple architectural models I make with Unity into Oculus VR versions. Now I just have to work on optimizing them for the Oculus "experience."
     
  11. Todd-Wasson

    Todd-Wasson

    Joined:
    Aug 7, 2014
    Posts:
    1,079
    Just got my DK2 today. Very impressive. Quite an improvement over DK1. It prompted me to pay the $1500 to get Unity Pro today. :)

    I'm having some problems in Unity with it though. It's been awhile, but if I remember right, with the old DK1 you could just make a terrain and drop the OVRPlayerController into the scene and it would work right away including using the play button within the Unity editor. It's not quite so easy now. Here are a couple of the problems I'm running into:

    1) If I hit play in the editor, nothing happens. Unity does not hang, but I can't click the scene or game tabs. It's as though it never really gets started.

    2) If instead I compile and build it, it works, but the window placement is not on the Rift screen. If I just use OVRCameraController I'm able to drag the window over to the Rift monitor and hit shift tab to maximize it which works great (wow!), however, with the OVRPlayerController it's not possible to drag the window over to maximize it on the Rift screen because the mouse simply moves the view around. Is there a way to tell my compiled app to run on "screen 2" or whatever my Rift is using? I don't mind doing this manually for now, this is just very early dev stuff so I don't mind punching in a 2 or 3 somewhere.

    Normally what I would have done is just duplicated the main monitor and Rift displays, but seeing as the DK2 has the view rotated 90 degrees, I'm forced to put the Rift into portrait mode instead of landscape like all the tutorials I found said to do. This fixes the Rift view, but my main monitor is rotated 90 degrees which of course is not workable.

    Does anyone have some links or tips for these kinds of issues? I'm working on a little boat racing sim and am anxious to try it with my Rift! :-D
     
  12. Todd-Wasson

    Todd-Wasson

    Joined:
    Aug 7, 2014
    Posts:
    1,079
    Regarding issue #1: Just now my Rift LED turned orange which means the video signal was lost but it still had power. I shut down Unity in preparation to reboot, then decided to unplug the Rift and plug it back in again. This turned the light blue again. I then restarted Unity and the play button in the game editor now works like it should.
     
  13. pollyox16

    pollyox16

    Joined:
    Feb 7, 2014
    Posts:
    13
    Ive lost one eye and now i cant see 3d. Unity should provide developers at least one eye just in case this happens.


    :).

    cheers.
     
    Todd-Wasson likes this.
  14. Todd-Wasson

    Todd-Wasson

    Joined:
    Aug 7, 2014
    Posts:
    1,079
    Again regarding issue #1: I just changed resolutions in the Unity editor and it stopped working again. The time earlier that it worked, the "maximize on play" option extended it to nearly full screen. I haven't figured out how to restore it and get it working again. When I hit play it does not change the resolution back up to what worked before. I tried disabling the OVRCameraController or OVRPlayerController (I'm only using one or the other, never both), adding a (non-Rift) main camera back in so the resolution would restore on the next play. Then I reverted to the OVR cameras, but the resolution did not change.

    Not sure what I did to make it work before or how I broke it, but If I figure out a way to get it working again, I'll come back and post.

    BTW: Is this thread an ok place for this or should I be discussing this somewhere else?
     
  15. Todd-Wasson

    Todd-Wasson

    Joined:
    Aug 7, 2014
    Posts:
    1,079
    Regarding issue #2: This is where I dragged the compiled game in windowed mode over to the Rift screen and hit shift-tab. This doesn't work now, it just maximizes it to the main monitor screen instead of the Rift. Dk1 would do it the same on both monitors so this wasn't an issue back then. If DK2 didn't need to have the monitor flipped 90 degrees this would not be a problem.
     
  16. Todd-Wasson

    Todd-Wasson

    Joined:
    Aug 7, 2014
    Posts:
    1,079
    Few more problems:

    3) When I build and run the _toDirectToRift version, the program runs on the Rift fine, but standard key capture routines no longer work. I'm unable to exit so have to open the task manager. During this time the main monitor is black (forgot to look in the Rift, maybe it's visible there although I doubt it since it acts as another screen). With the screen black you can't see the task manager. Fortunately in my case it's just "b" for "boat" and then "alt-E" and "space" to shut it down.

    EDIT: Solution to #3 was to click with the mouse on the app itself in the Rift display once running, otherwise it is not in focus. Is there a way to make it get focus as soon as the program starts so users don't have this problem?

    4) At this point I see an extra Unity icon on the task bar showing that my game is still running, so I have to right click on the task bar and close that too. Not sure if that's a second instance or what.

    5) At this stage the Unity Editor goes completely black. The only normal part is the menu at the top. Minimizing/maximizing or moving it off the screen to trigger a repaint doesn't do anything, so at this point I don't see what else to do but restart Unity every time I run my Rift game.
     
    Last edited: Aug 28, 2014
  17. Todd-Wasson

    Todd-Wasson

    Joined:
    Aug 7, 2014
    Posts:
    1,079
    Here's how to reproduce issue #1 (play button not working). I tried this four or five times and it worked every time:

    1) Open Unity fresh with a scene using OVRCameraController. In my case I have it slaved to another camera that is attached to a boat so I can ride along and look around. I doubt it matters, but just in case.

    2) In Unity editor choose "free aspect." Make sure the "maximize on play" button is not pressed. Press play and observe that the Unity display is shown as expected in the preview window. (I tried this with the Unity window maximized along with several other random sizes smaller than the screen. It worked the same way regardless.)

    3) Check "maximize on play" and run it again (click the play button). Observe that the game does not really start and all options on the Unity editor are unclickable.

    4) Press play again to stop the game preview.

    5) Uncheck "maximize to play" and run it again (click the play button). The results are identical to step 3 where the game preview never starts.

    6) Restart Unity and repeat. I tried this four or five times and it was the same thing every time regardless of window sizes or anything like that.
     
  18. Todd-Wasson

    Todd-Wasson

    Joined:
    Aug 7, 2014
    Posts:
    1,079
    I thought I found my answer to #2 here: http://www.academia.edu/5169019/Oculus_VR_Inc_Oculus_Unity_Integration_Guide

    Page 9:
    "Tear the Game view from the editor and drag onto the Rift display. Click the square (maxi-mize) button on the top right of the game window (to the left of the ’X’ button) to go full-screen.This will let you play the game full screen, while still allowing you to keep the Unity editor open on another monitor. "

    Unfortunately this does not work for me. I drag the window onto the Rift monitor with maximize on play checked on before pressing play. The window does not maximize and instead shows a wireframe that I am rendering with debug draw statements. No other graphics show up in the scene.

    BTW., I am currently using only one monitor plus the Rift. I had a lot of troubles with more than one monitor so am just trying to get things working well enough with one for now.
     
    Thomas-Pasieka likes this.
  19. Thomas-Pasieka

    Thomas-Pasieka

    Joined:
    Sep 19, 2005
    Posts:
    2,174
    Hey Todd, thanks for all your reports and solutions. I got word that my Devkit 2 is about to be shipped so I am looking forward to next week.
     
  20. 3dhuman

    3dhuman

    Joined:
    Jun 23, 2014
    Posts:
    17
    On the Oculus VR versions you have made, were they extended desktop versions or direct to rift versions?


     
  21. Todd-Wasson

    Todd-Wasson

    Joined:
    Aug 7, 2014
    Posts:
    1,079
    Good to hear, Thomas. I've spent quite a few hours playing with this and have got something of a workflow going that's acceptable. Here are my tips:

    1) Stay away from the "maximize on play" button when your Rift is plugged in. As long as you never hit that button, the Rift preview in the Unity editor works fine. You can't watch it in the Rift itself of course, but at that stage I don't mind so much. It only takes a few seconds to compile and run it for an orgasmic Rift experience.

    2) What I'm doing is attaching the Rift camera controller to the regular camera in my scene (dropping it onto the regular camera in the hierarchy). In my case I have a boat instead of a character controller with an onboard camera called CameraOnBoard, so I'm using OVRCameraController instead of OVRPlayerController. To keep the Rift oriented with the boat, I drag my CameraOnBoard onto the "Follow Orientation" in the OVRCameraController inspector. Then I can look around while your forward direction stays lined up with the boat. It works beautifully well, I can't imagine it being any better.

    3) Following the last one, having the OVRCameraController slaved to my CameraOnBoard means I can just uncheck the OVRCameraController if for whatever reason I don't want to use the Rift. I'm not sure, but I suspect "maximize at play" will work normally then. Probably at some point this might be an easy way to make games work on Rift and regular monitors just by enabling/disabling the Rift cameras. Haven't tried that yet though.

    4) Occasionally the Rift might lose video signal which turns the LED orange instead of blue. Turning the Rift off and on a couple times seems to fix it without requiring a reboot. It's not happening very often, so I'm not too worried about it. It could just be my machine and nothing to do with the Rift.

    5) I normally run a triple monitor setup on a 680X 4GB card. When first starting with the Rift I'd recommend unplugging all monitors but one and go back to a standard resolution. On my card I think two monitors + Rift might have worked at one point, but oftentimes the Rift would stop working and the LED would rapidly flash blue/orange. Unplugging the second monitor fixed that.

    6) If all else fails, save your work and reboot once or twice. That has fixed several issues.

    7) You have to manually start the Rift service for head tracking to work every time you reboot the machine or it comes out of sleep mode. There are two options located in Drive:\Program Files\Oculus\Service:

    OVRService_x64.exe
    OVRService_x86.exe

    8) First thing to do after getting the runtimes and SDK and so forth installed (which naturally I'm listing last here because I just thought of it) is to run this:

    H:\Program Files\Oculus\Tools\OculusConfigUtil.exe

    There's a button on there to start a demo scene so you can see something almost immediately. If you see the scene flipped 90 degrees, right click desktop and hit "screen resolution" (on Windows 7), click the Rift screen, then change it to Portrait mode . I don't know why, but all the tutorials say to use landscape which is the default thing that doesn't work. Anyway, just flip it and it should be fine.

    Think that about covers what I've found so far that has made my life easier. Good luck!
     
    Last edited: Aug 29, 2014
    Thomas-Pasieka likes this.
  22. ggunhouse

    ggunhouse

    Joined:
    Nov 18, 2009
    Posts:
    59
    I'm running the direct-to-rift exe, but with the rift mode and screen set to extended display. I realize that doesn't make sense, but that's the only thing that works for me. I haven't been able to get the extended desktop version to work, and setting the rift mode to direct-to-rift does not work well (very jagged and juddery). I'm working with Windows 7 on a Mac.
     
  23. that-steve-guy

    that-steve-guy

    Joined:
    Apr 21, 2013
    Posts:
    15
    Has anyone seen a Unity3D / Oculus Rift developers group out there?
    This thread (and others) are good... but don't seem like enough.

    I've got a DK1 and can't evaluate the work on a DK2, or the coming Samsung gear, let alone anything Apple.
    So just getting (and giving) feedback would be great. If you've posted a work in progress someplace - you'll note that feedback is hard to get.

    If I was in a business, or city it might be easier - but my neighbors include a small Amish community ... they'll pass by and wave will I'm working out on my front porch. Its kinda thought provoking, but not especially helpful in solving, testing tech issues.
     
    Thomas-Pasieka likes this.
  24. Todd-Wasson

    Todd-Wasson

    Joined:
    Aug 7, 2014
    Posts:
    1,079
    Does the latest Unity update (4.5.4f1) break the Oculus Rift "DirectToRift" exes for anyone else? Since this last update it renders to my regular monitor instead of the Rift, rendering the Rift unuseable with Unity except for maybe recording videos on the main screen. Maybe I did something else wrong, but can't imagine what. Is there anything I can do to fix this in the meantime? Can I roll back to the previous version of Unity somehow?
     
  25. Todd-Wasson

    Todd-Wasson

    Joined:
    Aug 7, 2014
    Posts:
    1,079
    Found a solution here:

    http://www.reddit.com/r/oculus/comments/2c9249/general_guide_to_setting_up/

    "Hold CTRL and double click on the executable. Set your Display monitor to the Rift."

    So maybe this is a new feature in 4.5.4f1? If so, I like it because you can set it to run on your monitor or the Rift, whereas before it would only go to the Rift which made recording videos difficult at best, if not impossible. It would be neat to be able to have it mirror to both the monitor and the Rift so other people can watch. I look forward to seeing what Unity comes up with next for Rift developers.

    Question: Is there a way to make my Rift app have focus at launch? I use the mouse and keyboard in my app, but until I move the mouse onto the Rift monitor and click it to bring it in focus, none of that stuff works. Players can't be expected to do that of course.
     
  26. thorp

    thorp

    Joined:
    Dec 6, 2013
    Posts:
    9
    For about the last week I've been working on getting the OVRPlayerController prefab (with stereo cam) running under Unity's web player. It's not working yet. At the risk of duplicating effort, has anyone inside or outside of Unity gotten this working already? I'd love to have a chat.
     
  27. that-steve-guy

    that-steve-guy

    Joined:
    Apr 21, 2013
    Posts:
    15
    Hello All

    Given Unity's flexibility, it's odd that very little work outside of games and simulations seems to exist.
    So I've started a digital arts group to explore the design possibilities of virtual spaces.
    https://www.linkedin.com/groups?home=&gid=7464372

    Its a small group...

    Am posting here because we have a Unity Art Gallery / Classroom / Social Interface up
    An Oculus Rift version & a Multiuser version is available :)

    https://share.oculusvr.com/app/hayfield-isovista-gallery

    Right now its pretty much a proof of concept, but it is working.
    So we'll ramp up and hopefully be a more public creative outlet for folks (like game design students & graduates)
    Something for people who need small scale opportunities to push their design and technical skillset.
    (An art installation is much simpler to make than a game (in general), and open to great creative exploration.)

    If you are curious, you can also check out my background here:
    https://www.linkedin.com/in/steveguynupworldbuilder
     
  28. Todd-Wasson

    Todd-Wasson

    Joined:
    Aug 7, 2014
    Posts:
    1,079
    Recently the rotational motion on the Rift became very choppy in my app. It was also doing this in the demo scene in the Rift config tool. Just now I updated the firmware which fixed it in the config tool demo scene, but in my application it's still very choppy. I didn't change anything, it just started doing it at some point on its own (maybe a Unity update or Visual Studio update, not sure). Anyone else run into this? I'm using the OVRCameraController.
     
  29. Todd-Wasson

    Todd-Wasson

    Joined:
    Aug 7, 2014
    Posts:
    1,079
    A little more info: In the editor's preview window the rotation is as smooth as can be, every bit as good as the Rift config utility demo scene. It's only jerky when I run the built version via MyGame_DirectToRift.exe. This just started happening in the last two or three weeks probably.

    The jerkiness in the head tracking in my app completely ruins it. I've played around with VSynch settings and so forth to no avail. I also played with the OVRDevice script prediction time, but that just resets itself to 0.03 whenever you play it, so I'm not sure why that setting is even there.
     
  30. Todd-Wasson

    Todd-Wasson

    Joined:
    Aug 7, 2014
    Posts:
    1,079
    Ok, I managed to fix it by changing the display refresh rate to 60Hz to match my desktop monitor. It looks like there are problems if the displays are not set to the same number. I wonder how the Oculus config tool demo managed to avoid it. Is there a way to set the refresh rate of the Rift via code in the game, perhaps?