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

Daydream - Camera on the floor #7

Open
arturitu opened this issue Aug 7, 2017 · 8 comments
Open

Daydream - Camera on the floor #7

arturitu opened this issue Aug 7, 2017 · 8 comments

Comments

@arturitu
Copy link

arturitu commented Aug 7, 2017

When you user a Daydream viewer with a controller, camera is on 0,0,0 perhaps is related with this three.js issue > mrdoob/three.js#11619
screenshot_20170807-180327

@stewdio
Copy link
Owner

stewdio commented Aug 7, 2017

Thank you for testing this on a 3DOF system. (I’m currently without any; returned them!) I think you’re correct that Three’s issue #11619 is related. A temporary fix might be to move the main scene downward instead of trying to wrestle the camera away from the renderer to push it upward.

Can you tell me more about how the controller itself? From the screen grab it looks like its position is correct relative to your head, but obviously your head feels like it’s part of the floor! Does it rotate with your head rotation? Does it feel like it’s part of your right arm rather than your left, even when you turn around?

Can you connect your Pixel to your laptop to get some Chrome debugging out of it? I’m very curious what renderer.vr.getStandingMatrix() returns when in Daydream mode.

Does the rotation of your head at least work correctly?

@arturitu
Copy link
Author

arturitu commented Aug 8, 2017

Yes, to move all the scene is the unique fix I found, but I suppose was not a great idea if you want to make a teleport option, I hope could be fixed soon.

Head rotation is ok, and I recorded a video on how the controller works, looks like only works for right-handed (because I have configured like left-handed but the position is the same as if the hand is right than if is left.

https://www.dropbox.com/s/gie3r4m91dhi2bg/daydream_THREE_VRController.mp4

renderer.vr.getStandingMatrix() on vr.enabled = true returns >
image

@stewdio
Copy link
Owner

stewdio commented Aug 29, 2017

I don’t think building teleportation is an issue—and it’s also beyond the scope of VRController ;) Just remember that mathematically moving the camera position is the same as moving the entire universe. So if the renderer is hogging the camera’s matrix when in VR mode why fight that? Just move the universe instead!

However, the Orientation Arm Model not switching from right-handed to left-handed is very much in the realm of VRController. That seems immediately solvable by anyone using VRController by listening for the "hand changed" event and then inside that handler updating the controller instance’s armModel.isLeftHanded = true or just making that assignment as soon as the controller instance is broadcast. But it would probably be nicer to have that happen automagically, yes?

So for me the real issue here is that in a seated setup (so NOT room-scale setup) the origin is the camera instead of the floor and because we can’t wrestle the camera away from the renderer’s control we need to push the scene downward so that a user’s face isn’t in the floor! It would be really handy if this was part of THREE’s new renderer so we can just say yes, renderer.vr.enabled = true and also renderer.vr.userHeight = 1.6 or whatever and not have to deal with it beyond that.

@danrossi
Copy link

This is still a problem with the demo. the controller object is very close also.

@danrossi
Copy link

This is also a problem in GearVR. I can't even get the DayDream controller detecting in the gamepad list only the GearVR controller.

@kosso
Copy link

kosso commented Jun 16, 2018

This issue is also present on the Oculus Go browser.
Also the preferences panel does not face you.

@paulmasson
Copy link
Contributor

As of Version 3.45 the demo works for me on Oculus Go.

@dvdobrovolskiy
Copy link

renderer.vr.userHeight = 1.6 got no effect in gearvr. Simply ignores it. also camera by default is above 0 by Y axis. This only in gearvr. In windows mixed camera at 0,0,0

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

6 participants