godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
88.89k stars 20.16k forks source link

VR iOS upside down #52255

Open MZwetsloot opened 3 years ago

MZwetsloot commented 3 years ago

Godot version

3.3.stable

System information

iOS14, iPhone 6s, GLES2 + GLES3, Xcode 12.5.1, macOS 11.3.1

Issue description

When testing the native mobile VR interface on an iPhone, the 3D content appears upside down. It doesn't matter what the orientation settings are (either inside Godot or Xcode), the 3D content is still upside down. For some reason, any 2D nodes overlaying the 3D content do have the right orientation.

The same code works fine on Android.

Steps to reproduce

Create or open any sample project with mobile VR and build it with Xcode for iOS. Issue is present in GLES2 as well as GLES3.

Minimal reproduction project

https://gabrielvictor.itch.io/godot-mobvr

tijmenennik commented 3 years ago

I'm having the same issue

BastiaanOlij commented 3 years ago

I haven't got access to a working iOS dev environment anymore which is a PITA..

No idea up front, sounds like there have been changes in the way that iOS handles screen orientation since I build the mobile solution because it was actually build using my iPhone 5 at the time and was the right way up :)

We may need to add some iOS specific code in the commit_eye function and change the blit rectangles according to the orientation of the phone.

BastiaanOlij commented 3 years ago

Actually interesting question, we should first verify if the left eye is on the left side of the screen and its then just the sensor data that is being reported incorrectly?

MZwetsloot commented 3 years ago

As far as I can see while testing: the left eye is on the left side, so that shouldn't be the problem. @BastiaanOlij