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

Oculus touch controller #873

Merged

Conversation

daoshengmu
Copy link
Contributor

@daoshengmu daoshengmu commented Nov 29, 2018

In order to support all the current functions in FxR, we need to follow MozillaReality/FirefoxReality-android-third-party#2 to upgrade SDK to 1.19.

In this implementation, I notice the fov from the projection matrix of predictedTracking.eye is [fovX: 95, foxY: 99], But if we use VRAPI_SYS_PROP_SUGGESTED_EYE_FOV_DEGREES_X to get fov, they will be 104 and 106 degrees. So, we have to make it consistent with camera.projectionMatrix and the main eye buffer layer.

Besides, the controllerTransform is wrong when doing 6 DOF controller orientation. It should rotate transform by the elbow instead of by the origin. This new device has the same button layout as Oculus Rift Touch but different looking. So, we will keep working on it at following bugs to let it support multiple controllers and has the same button and axis mapping for WebVR content as Oculus Rift.

Copy link
Contributor

@bluemarvin bluemarvin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the 6DoF head tracking work with this patch? It would seem the 6DoF controllers are not if you are applying an elbow model. Also you should be able to use two controllers. If there is an issue we should get that sorted out as well.

app/src/oculusvr/cpp/DeviceDelegateOculusVR.cpp Outdated Show resolved Hide resolved
app/src/oculusvr/cpp/DeviceDelegateOculusVR.cpp Outdated Show resolved Hide resolved
@daoshengmu
Copy link
Contributor Author

@bluemarvin the 6DoF head tracking is supported from my patch. Because we use m.predictedTracking.HeadPose.Pose to get the headset position that is 6Dof data. Both of 6Dof headset and controllers are workable base on this.

In terms of two controllers, I already have a WIP patch in local, it has been near to be done. I will send you a PR shortly.

@bluemarvin
Copy link
Contributor

@daoshengmu Please wait for @MortimerGoro to review before landing. He wrote the original implementation so I would like his feedback first. Thanks.

@daoshengmu
Copy link
Contributor Author

Update using deviceType to check the controller type in DeviceDelegateOculusVR::SetControllerDelegate() because controllerCapabilities is not yet ready until calling UpdateControllerID().

@MortimerGoro MortimerGoro merged commit 91d4710 into MozillaReality:master Dec 5, 2018
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

Successfully merging this pull request may close these issues.

None yet

3 participants