diff --git a/plugins/openvr/src/OpenVrHelpers.cpp b/plugins/openvr/src/OpenVrHelpers.cpp index a3573187ab..91cad67d46 100644 --- a/plugins/openvr/src/OpenVrHelpers.cpp +++ b/plugins/openvr/src/OpenVrHelpers.cpp @@ -299,10 +299,11 @@ controller::Pose openVrControllerPoseToHandPose(bool isLeftHand, const mat4& mat static const glm::quat leftRotationOffset = glm::inverse(leftQuarterZ * eighthX) * touchToHand; static const glm::quat rightRotationOffset = glm::inverse(rightQuarterZ * eighthX) * touchToHand; - static const float CONTROLLER_X_OFFSET = 0.0381f; // sideways - static const float CONTROLLER_Y_OFFSET = 0.0495f; // forwards - static const float CONTROLLER_Z_OFFSET = 0.1371f; // upwards - static const glm::vec3 CONTROLLER_OFFSET(CONTROLLER_X_OFFSET, CONTROLLER_Y_OFFSET, CONTROLLER_Z_OFFSET); + // this needs to match the leftBasePosition in tutorial/viveControllerConfiguration.js:21 + static const float CONTROLLER_LATERAL_OFFSET = 0.0381f; + static const float CONTROLLER_VERTICAL_OFFSET = 0.0495f; + static const float CONTROLLER_FORWARD_OFFSET = 0.1371f; + static const glm::vec3 CONTROLLER_OFFSET(CONTROLLER_LATERAL_OFFSET, CONTROLLER_VERTICAL_OFFSET, CONTROLLER_FORWARD_OFFSET); static const glm::vec3 leftTranslationOffset = glm::vec3(-1.0f, 1.0f, 1.0f) * CONTROLLER_OFFSET; static const glm::vec3 rightTranslationOffset = CONTROLLER_OFFSET; diff --git a/tutorial/viveControllerConfiguration.js b/tutorial/viveControllerConfiguration.js index b8197d6cd2..022717a29b 100644 --- a/tutorial/viveControllerConfiguration.js +++ b/tutorial/viveControllerConfiguration.js @@ -16,16 +16,20 @@ var rightBaseRotation = Quat.multiply( Quat.fromPitchYawRollDegrees(0, 0, -90) ) ); -var CONTROLLER_LENGTH_OFFSET = 0.0762; + +// keep these in sync with the values from plugins/openvr/src/OpenVrHelpers.cpp:303 +var CONTROLLER_LATERAL_OFFSET = 0.0381; +var CONTROLLER_VERTICAL_OFFSET = 0.0495; +var CONTROLLER_FORWARD_OFFSET = 0.1371; var leftBasePosition = { - x: CONTROLLER_LENGTH_OFFSET / 2, - y: CONTROLLER_LENGTH_OFFSET * 2, - z: CONTROLLER_LENGTH_OFFSET / 2 + x: CONTROLLER_VERTICAL_OFFSET, + y: CONTROLLER_FORWARD_OFFSET, + z: CONTROLLER_LATERAL_OFFSET }; var rightBasePosition = { - x: -CONTROLLER_LENGTH_OFFSET / 2, - y: CONTROLLER_LENGTH_OFFSET * 2, - z: CONTROLLER_LENGTH_OFFSET / 2 + x: -CONTROLLER_VERTICAL_OFFSET, + y: CONTROLLER_FORWARD_OFFSET, + z: CONTROLLER_LATERAL_OFFSET }; var viveNaturalDimensions = {