Search Unity

Controller rendered differently in each eye gvr sdk 1.7

Discussion in 'Daydream' started by duncangroberts, Aug 15, 2017.

  1. duncangroberts

    duncangroberts

    Joined:
    Jul 22, 2015
    Posts:
    69
    Hi there,
    I've recently upgraded to the newest gvr sdk, 1.7 and I've experienced a strange issue with the controller rendering. When testing an environment for a new project, the controller seems to be rendered in a different position in each eye. This is leading to it feeling very uncomfortable. I'm not sure if I've set something up incorrectly, I've published a few projects now and have set this up pretty much the same, though the new sdk gives some more options. I noticed in the editor the controller felt wrong so I selected "locked to head", this I thought to do with the new positionally tracked headsets, and this seemed to work. Otherwise, everything is as standard.
    Attached are some screenshots illustrating the issue, any help would be much appreciated.

    Thanks,

    Duncan Screenshot_20170815-192521.png Screenshot_20170815-192521.png Screenshot_20170815-192533.png
     
  2. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958
    What version of Unity?
    Is the GVR SDK the only thing that changed?
    Is this Cardboard or Daydream? Android or iOS?
     
  3. duncangroberts

    duncangroberts

    Joined:
    Jul 22, 2015
    Posts:
    69
    Hi there,
    Sorry I should have mentioned. I'm using 2017.1 and it's a daydream build and running on a Google pixel XL. It's a new project I started on both unity 2017 and the new sdk so everything is fresh. It's an odd issue as I can't think what would be causing the controller to be in a different position in each eye.
    Thanks,
    Duncan
     
  4. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958
  5. duncangroberts

    duncangroberts

    Joined:
    Jul 22, 2015
    Posts:
    69
    No I haven't actually. I'll give that a go. Do I need to download each of the patch releases or just the latest? Was there a specific fix that you think should sort this problem?
    Thanks for your help,
    Duncan
     
  6. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958
    Latest should work fine. Nothing in particular I am aware of just want to make sure that you are running the latest and greatest and get that out of the way. Thanks.
     
  7. duncangroberts

    duncangroberts

    Joined:
    Jul 22, 2015
    Posts:
    69
    Thanks, I'll install in the morning UK time as I need to get back to my machine and I'll let you know as soon as possible.
     
  8. duncangroberts

    duncangroberts

    Joined:
    Jul 22, 2015
    Posts:
    69
    Hi @joejo I've updated to the latest and greatest patch of Unity 2017.1 and I'm afraid the issue is still apparent.

    I've attached some screengrabs of my setup to see if there's anything I'm doing wrong.

    It seems as if the left eye is rendering the controller in the correct position, but the right eye the controller is out of place. The reticle seems to point in the correct place in each eye however.

    Thanks,

    Duncan
    Screenshots below:
     

    Attached Files:

  9. duncangroberts

    duncangroberts

    Joined:
    Jul 22, 2015
    Posts:
    69
    And a few more screenshots
     

    Attached Files:

  10. duncangroberts

    duncangroberts

    Joined:
    Jul 22, 2015
    Posts:
    69
    Hi @joejo
    I'm.not sure if this has something to do with the camera rendering rather than the controller itself as bringing objects close to the camera in the same scene ha the same effect. Is there anything I'm doing obviously wrong with the new SDK setup?
    Thanks so much
    Dinah
     
  11. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958
    Is it only the controller that is rendering funny or is it the whole scene that is being warped? Can you provide a simple, slimmed down report project that we can look at?
     
  12. duncangroberts

    duncangroberts

    Joined:
    Jul 22, 2015
    Posts:
    69
    Hey @joejo thanks so much for looking into this. The rest of the scene seems absolutely fine, just the controller that goes cross eyed. It's almost like it's rendered in the wrong place, too close on one side. I'm not sure but I'm inclined to think it's something I've set up wrong in the new SDK rather than a bug, but it would be good to know either way.
    At the following Google drive link is a very very simple reenactment of the problem. It's both a unity package of the scene and an APK built from that scene so you can see it quickly if necessary. If I'm doing something horribly wrong, do let me know.

    https://drive.google.com/folderview?id=0B58yc-NTb5G9ZE5sUTluaFdCMlE

    Thanks,

    Duncan
     
  13. duncangroberts

    duncangroberts

    Joined:
    Jul 22, 2015
    Posts:
    69
    Hey @joejo I don't suppose there's any news on what I'm doing wrong here?
    Thanks!
    Duncan
     
  14. duncangroberts

    duncangroberts

    Joined:
    Jul 22, 2015
    Posts:
    69
    I don't suppose anytime has any idea what I'm doing wrong here?
     
  15. duncangroberts

    duncangroberts

    Joined:
    Jul 22, 2015
    Posts:
    69
    I'm really sorry to hassle you @joejo but have you had a chance to see what I'm doing wing here yet as this is stopping me progressing in my project at the moment. Thanks so much.
     
  16. duncangroberts

    duncangroberts

    Joined:
    Jul 22, 2015
    Posts:
    69
    Last time I'll bother you @joejo I don't suppose there's anything obvious I'm doing? Sorry to be a pain.
     
  17. dsternfeld

    dsternfeld

    Official Google Employee

    Joined:
    Jan 3, 2017
    Posts:
    72
    Hey Duncan!

    I tried out your apk and unityPackage and I believe I figured out what is going on.

    In your example scene, the scale of the main camera is set to ~4.6. This is resulting in the IPD (Inter Pupillary distance) to be increased which is effecting how spread apart objects are in the left eye and the right eye. To fix this, simply set the scale of the camera back to 1.

    For objects that are very close to the camera like the controller, changing the IPD can make it so your eyes can't converge on it and it appears to be in the wrong spot. In previous versions of Unity, setting the scale on the camera itself didn't effect the IPD, but setting the scale on a parent would.

    There are valid use cases for changing the IPD, but in those use cases you typically want to scale up the shared parent of the controller and the camera, not just the camera.

    Thanks,

    Dan
     
  18. duncangroberts

    duncangroberts

    Joined:
    Jul 22, 2015
    Posts:
    69
    Dan thank you so so much, this explains it perfectly! I knew I was doing something wrong I just could not figure it out. Thanks so much @dsternfeld
     
    dsternfeld likes this.