Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XROrigin3D not on top of floor #550

Open
eeriksen opened this issue Oct 15, 2023 · 4 comments
Open

XROrigin3D not on top of floor #550

eeriksen opened this issue Oct 15, 2023 · 4 comments

Comments

@eeriksen
Copy link

Hi! First I wanna say great job on this set of tools for Godot!

I am trying to get started with VR development on Godot, and I have gotten everything to work, except for when I am running a scene through the Quest 3. Same issue in demos and when I try to implement this myself.

The boundry (quest floor) is not on top of the floor in the scene, but 0.25 units above.

I can see that the PlayerBody is always on the floor, and XROrigin3D starts at origin.y = 0, but is beeing moved as soon as the _physics_process function runs.

Does this have something to do with the code or is it perhaps an issue with the Meta driver?

c3914b75f08b68ae72215b827d35f44a

@Malcolmnixon
Copy link
Collaborator

The player has a "Player Calibrate Height" option:
image

This recalibrates the players height on the first frame to support playing while seated. You can turn this option off if you don't want the first-frame recalibration.

@eeriksen
Copy link
Author

That was easy. Can't believe I missed that 🙈. Thank you so much for the quick reply, @Malcolmnixon.

@BastiaanOlij
Copy link
Member

@Malcolmnixon I wonder if we should default that to false and make it an opt-in option. It works really well with our demo and xr-templates because we're using the whole staging setup, but in smaller projects, the calibration happens before there is good data for it.

@Malcolmnixon
Copy link
Collaborator

I think we might want to make this a CalibrationMode enumeration:

  • None = Perform no calibration (default)
  • Calibrate = Perform calibration and save the results in the user settings
  • Use = Use existing calibration from the user settings

That way a game can have the player perform a one-time calibration at the start of a game, and then have all other scenes/zones just use the existing calibration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants