googlevr / gvr-unity-sdk

Google VR SDK for Unity
http://developers.google.com/vr/unity/
Other
2.71k stars 1.09k forks source link

Double Vision Samsung S7 — distortion wrong when resolution is not WQHD #421

Closed justinwasilenko closed 7 years ago

justinwasilenko commented 7 years ago

I just updated Minos Spacefighter to use the new GVR 13 Unity build. This has caused a tonne of issues for everyone using a Samsung S7 and has caused a serious drop in the ratings of the game. Last time I updated the game using Unity 5.4.3 and the GVR 0.85 which also have issues with the Samsung S7.

So I'm stuck again with bad reviews on my app due to problems with the GVR plugin.

I have instructed people to rescan their QR codes and delete the local cache and data of both the Cardboard app and the Minos Spacefighter app but that hasn't solved the issues.

Is this a known issue? I also had one report with the Asus Zenphone 2 of having the same problem.

justinwasilenko commented 7 years ago

Sorry the issue with the Asus Zenphone 2 is the gyroscope doesn't work.

nathanmartz commented 7 years ago

Sorry for the issues. We'll take a look with our friends at Unity.

nathanmartz commented 7 years ago

Can you post a play store link to your game?

justinwasilenko commented 7 years ago

Here you go: https://play.google.com/store/apps/details?id=com.endspacevr

MrDelegateCB commented 7 years ago

Hey, I'm also having the same issue. I think it has something to do with dpi of the device. Because in the review, reported dpi was 640 while in actual device has dpi of 577.

MephestoKhaan commented 7 years ago

Same problem here with S7s. Sometimes it is more extreme when disabling distortion and doing it in the vertex-shader.

Saraceni commented 7 years ago

I am having this exact same problem with my Galaxy S7 Flat. I am using Unity 5.5.of3 Personal and Google VR SDK 1.0. It works fine in the majority of devices, but in the Galaxy S7 the offset between left and right eyes are too big, making it impossible to have an immersion using any headset.

Saraceni commented 7 years ago

double-vision-gvr

miraleung commented 7 years ago

Thanks for the report, we'll look into this.

kasradzenika commented 7 years ago

I'm having the same issue, screenshot:

screenshot

tomihr commented 7 years ago

screenshot_20170303-140506 I also have double vision problem on Samsung Galaxy S7 flat.

Any news about this?

gaffkins commented 7 years ago

The same problem Galaxy s7 after update system to 7.0 :( The cameras looks like 1/4 view compare to view in unity or view before I upgrade my samsung to android 7.0. I will try to find the bug in library code but I'm to confused to find the problem. Please fix it.

JOESIDinc commented 7 years ago

My Google VR app got a case of split eye vision after Android 7.0 updated to my Samsung S7. Worked great on Android 6.0. The screen is looking too far to each side, on each eye on almost every previous build of Unity up till 5.5f2. The 5.6 beta has very poor results. Google VR version is 1.3. My Android SDK supports up to target build 24. Please fix this soon. screenshot_20170310-222258

noigeaR commented 7 years ago

Samsung apparently reduced the screen resolution of the Galaxy S7 from its native 2560x1440 to 1920x1080 with the update to Android 7. This article is about a beta build, but I believe it's in the final as well.

Could we please get an update on the situation from somebody at Google? The SGS7 is probably one of the most popular phones for VR applications and if it doesn't work correctly with the GVR SDK it's really tough for us developers dealing with all the bad ratings and complaints from users.

Saraceni commented 7 years ago

I'm having this problem in a S7 running 6.0.1 Marshmallow. I think the resolution is not the problem.

kasradzenika commented 7 years ago

@Saraceni resolution is the cause of the problem. This is, I think, how unity creates VR frames (black borders):

  1. unity first creates bottom and middle frames to fit the virtual resolution (which is bigger than then the actual), so the frames appear zoomed in on the device towards the bottom-center of the screen
  2. then it creates frames on the top and at the left and right edges of the screen which get created... I don't know how...

again, this is just a guess based on the screenshots

JOESIDinc commented 7 years ago

screenshot_20170311-141242

JOESIDinc commented 7 years ago

Just as I thought this worked. I rooted my Samsung S7 and downgraded back to Marshmallow 6 0.1 and kept Google VR current to 1.3 and Unity3D 5.5.2f1 and the Google VR worked just as it always had. The problem is Android 7.0. Please fix this guys. It's the android build and I lost my apps to figure it out . The sacrifices I make because of you Unity3D or Google.

tomihr commented 7 years ago

Yes now when you take screenshot it is 1920xx1080, why Samsung did that?

JOESIDinc commented 7 years ago

This the VR game in action on Samsung Galaxy S7 for GoogleVR. Marshmallow 6.0

https://youtu.be/AsO8nVP2Auc

http://www.joesid.com

tomihr commented 7 years ago

Guys solution is to change screen resolution in display settings. Just done this on my Samsung S7 and it works, you need to change it to wqhd.

JOESIDinc commented 7 years ago

@tomihr Thank you for the heads up. This is why I posted here. :)

baroquedub commented 7 years ago

Thanks @tomihr

Now to explain this to our users :) ...

Couple of useful screenshots here: http://gadgetguideonline.com/s7/how-to-change-screen-resolution-of-galaxy-s7-and-s7-after-android-nougat-update/ (Scroll down to "How to change screen resolution of Galaxy S7 and S7 after Android Nougat update?")

noigeaR commented 7 years ago

This is really a problem that Google has to fix. We can't force all SGS7 users to go into their settings and change the resolution.

It's a problem that Google is capable to fix, since the official Google Cardboard app works correctly with the lower resolution, so Google has a code branch somewhere that works correctly. Also the SGS7 properly reports the changed dpi for the different screen resolutions you can select, so the GVR SDK should be able to work with whatever resolution the user has selected.

@miraleung You wrote "we'll look into this" two months ago. Any update on the situation?

dbuck commented 7 years ago

We're also seeing the problem here, and would appreciate a fix that doesn't require the end-user to change the system resolution

miraleung commented 7 years ago

We haven't been able to repro for recent releases - could you please try upgrading to v1.3 of the GVR Unity SDK, and Unity 5.6.0f2?

Zoriak22 commented 7 years ago

The resolution and Android 7.0 is NOT the problem. This issue with S7 devices was posted in 2016 august too with 6.0, same double vision issue. The problem is somehow in the SDK.

noigeaR commented 7 years ago

@miraleung The problem still exists for GVR1.3 and Unity 5.6.0f3.

Steps I took to reproduce the problem:

Are you sure that the Galaxy S7 you've tried to reproduce the problem with is set to FullHD resolution instead of the displays native WQHD? If you set the screen resolution to WQHD the 3D effect works correctly, but unfortunately all Galaxy S7 were changed to use FullHD by default during the upgrade to Android 7.0, so it affects the majority of all Galaxy S7 owners who didn't manually change resolution back to WQHD.

@Zoriak22 I think this issue (which was posted 26 Dec 2016, not August 2016) really is about resolution and Android 7.0, because everything works correctly with the resolution set to WQHD (which was the default and only setting on Android 6.0 and was changed to FullHD during the update to Android 7.0).

Zoriak22 commented 7 years ago

https://github.com/googlevr/gvr-unity-sdk/issues/271

Not August, July, sorry. It's a really old issue, and not connected with resolution, because the issue was already happened on 6.0 version too. Maybe changing resolution on your S7 variant can help, but on mine still no change. It's SM-G930F modell.

I try to reproduce also the problem and give you a feedback.

guneyozsan commented 7 years ago

@miraleung I also confirm the view is out of focus in S7 set to Full HD both in Android 6 and 7 (you see double), but it is normal in WQHD. This is the case for all versions of Unity from 5.6.0b9 to 5.6.0f3 and Google VR SDK 1.20 and 1.30.

I was thinking Google VR SDK was incompatible with Gear VR (in cardboard mode not oculus) and had ordered a different viewer. Thanks to this topic setting to WQHD resolved the issue. Honestly I didn't even know my S7 was downsized until I find this topic. I don't think any regular user can notice and change the setting for an app/game that behaves buggy.

miraleung commented 7 years ago

Could you please see if you can reproduce the issue with the NDK TreasureHunt sample (https://github.com/googlevr/gvr-android-sdk/tree/master/samples/ndk-treasurehunt)? This will help us identify where the root cause is located.

jdduke commented 7 years ago

Another thing to try is installing the latest version of Google VR Services. The GVR SDK used a set of DPI overrides for certain devices which misreport their DPI. However, such DPI overrides only work properly when the device is configured for native resolution. The latest version of Google VR Services might have a fix for this issue.

baroquedub commented 7 years ago

Closed as in fixed? Last build I did on Unity 5.5.1 / GVR10.3, it was still a problem.

Can you confirm whether you're closing because it's fixed in Unity 5.6's built-in GoogleVR support?

Zoriak22 commented 7 years ago

The problem still exists.

miraleung commented 7 years ago

Following @jdduke's fix should solve the issue.

helge79 commented 7 years ago

We are also experiencing this issue after upgrading our Galaxy S7 to Android 7. Our configuration: Unity 5.5.2f1, GVR SDK 1.30 and latest Google VR services.

Screenshot of GVRDemo with default setting (FullHD):

screenshot_20170421-125608

Screenshot of GVRDemo with resolution changed to WQHD:

screenshot_20170421-125738

helge79 commented 7 years ago

@miraleung The NDK TreasureHunt sample works fine. I just cloned the repository and built the APK - find the screenshots below. Anything else we can assist you with in finding the root cause of this issue?

Screenshot of TreasureHunt (FullHD):

screenshot_20170421-135648

Screenshot of TreasureHunt (WQHD):

screenshot_20170421-135547

andypoly commented 7 years ago

Get exactly same as helge79 with Unity 5.5.1 and GVR 1.4. Changing s7 phone res fixes, but this is not a solution (you can not ask public using your app to chnage their resolution). Have latest Google VR Services

miraleung commented 7 years ago

Could you please try this with Unity 5.6 and Cardboard enabled in Player Settings?

Chris-1993 commented 7 years ago

I tested it with Unity 5.6.1f1 (Cardboard enabled in Player Settings) and GoogleVR SDK 1.50.0 on a Galaxy S7 (SM-G930F) with Android 7.0.

Random Package Name & GoogleVR Services app installed: Doesn’t work Random Package Name & WITHOUT GoogleVR Services app installed: WORKS Package Name of a published Cardboard App & GoogleVR Services app installed: Doesn’t work Package Name of a published Cardboard App & WITHOUT GoogleVR Services app installed: Doesn’t work.

Between all tests I killed all tasks on the phone and possibly rebooted the phone. Otherwise you won't be able to see the changes. Furthermore the phone had an internet connection.

All in all it’s the same result as in other Unity and GoogleVR SDK (except < 0.7.2) versions.

The results with GoogleVR/Cardboard SDK < 0.7.2 look like this:

Random Package Name & GoogleVR Services app installed: Doesn’t work Random Package Name & WITHOUT GoogleVR Services app installed: WORKS Package Name of a published Cardboard App & GoogleVR Services app installed: Doesn’t work Package Name of a published Cardboard App & WITHOUT GoogleVR Services app installed: WORKS. ->The last point is the only solution you can publish a app without getting problems with S7 Users

Please also check out this falsely closed issues. There are more information related to this problem. https://github.com/googlevr/gvr-unity-sdk/issues/271 (here you also find an explanation why I used different Package Names) https://github.com/googlevr/gvr-unity-sdk/issues/315

Sorry for my Englisch. I’m not a native Englisch speaker.

mcfn commented 7 years ago

We have same problem for S7 in Android 7.0, any update for this issue?

Zagrava commented 7 years ago

Same problem with S7, no solution so far?

Zagrava commented 7 years ago

P.S. Installing project in offline mode runs the game perfectly, but if you install it being online - this bug appears. Something is synced with the google store?

fredsa commented 7 years ago

Likely same issue as described in https://github.com/googlevr/webvr-polyfill/issues/273

jdduke commented 7 years ago

Just wanted to share an update. We've tested a tentative fix against several apps, and the results are promising. The fix would go out as part of a Google VR Services update at the end of the month. We'll post more when the rollout starts to get confirmation of the fix. Thanks for your patience.

AlexanderStohr commented 7 years ago

Samsung Galaxy S7 (SM-G930F): able to confirm the problems with too wide eye-views (clipped on the short edges) on many applications from Google Play Store. Android system version is 7.0.

now eagerly hoping for the possible global fix from jdduke right above!

parkitny commented 7 years ago

Any further updates on a release date for the bug fix?

rpassareti commented 7 years ago

even changing the resolution on my s7, the displays still be in the wrong position seems like the circle is bigger

fredsa commented 7 years ago

The Google VR services update @jdduke mentioned above, initially scheduled to go out this week, has been pushed to next week. Expect the staged rollout of the VrCore update to begin on Monday, October 2, 2017.

To see the current version of VrCore on your device, use: Settings > Apps > ︙ > Show system apps > Google VR Services

jonny2027 commented 7 years ago

@fredsa Can you tell us what version of VRCore will have the fix in for this issue?