From 62afe13e9ce7a664915ade821e770cbf8f9bb406 Mon Sep 17 00:00:00 2001 From: mimosapudical Date: Fri, 15 Aug 2025 17:52:28 +0800 Subject: [PATCH 1/2] feat(meta-touch-controls): add support for Meta Quest 3S Xbox Edition --- src/components/meta-touch-controls.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/components/meta-touch-controls.js b/src/components/meta-touch-controls.js index 937ec070ebf..292f8ff0202 100644 --- a/src/components/meta-touch-controls.js +++ b/src/components/meta-touch-controls.js @@ -101,6 +101,20 @@ var CONTROLLER_PROPERTIES = { modelPivotOffset: new THREE.Vector3(0, 0, 0), modelPivotRotation: new THREE.Euler(0, 0, 0) } + }, + 'meta-quest-touch-plus-v2': { + left: { + modelUrl: META_CONTROLLER_MODEL_BASE_URL + 'quest-touch-plus-v2-left.glb', + rayOrigin: { origin: {x: 0.0065, y: -0.0186, z: -0.05}, direction: {x: 0.1239, y: -0.5944, z: -0.7945} }, + modelPivotOffset: new THREE.Vector3(0, 0, 0), + modelPivotRotation: new THREE.Euler(0, 0, 0) + }, + right: { + modelUrl: META_CONTROLLER_MODEL_BASE_URL + 'quest-touch-plus-v2-right.glb', + rayOrigin: { origin: {x: -0.0065, y: -0.0186, z: -0.05}, direction: {x: -0.1239, y: -0.5944, z: -0.7945} }, + modelPivotOffset: new THREE.Vector3(0, 0, 0), + modelPivotRotation: new THREE.Euler(0, 0, 0) + } } }; @@ -231,7 +245,8 @@ var componentConfig = { this.isTouchV3orPROorPlus = this.displayModel === CONTROLLER_PROPERTIES['oculus-touch-v3'] || this.displayModel === CONTROLLER_PROPERTIES['meta-quest-touch-pro'] || - this.displayModel === CONTROLLER_PROPERTIES['meta-quest-touch-plus']; + this.displayModel === CONTROLLER_PROPERTIES['meta-quest-touch-plus'] || + this.displayModel === CONTROLLER_PROPERTIES['meta-quest-touch-plus-v2']; this.el.setAttribute('gltf-model', modelUrl); }, From 1bd1444ab225fb56370416e9ff8285643884358e Mon Sep 17 00:00:00 2001 From: mimosapudical <153621177+mimosapudical@users.noreply.github.com> Date: Mon, 18 Aug 2025 20:28:56 +0800 Subject: [PATCH 2/2] Update meta-touch-controls.js Updated meta-quest-touch-plus-v2 to keep the same rayOrigin values as meta-quest-touch-plus (full precision kept, only modelUrl differs). --- src/components/meta-touch-controls.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/meta-touch-controls.js b/src/components/meta-touch-controls.js index 292f8ff0202..ef9fca95820 100644 --- a/src/components/meta-touch-controls.js +++ b/src/components/meta-touch-controls.js @@ -104,14 +104,14 @@ var CONTROLLER_PROPERTIES = { }, 'meta-quest-touch-plus-v2': { left: { - modelUrl: META_CONTROLLER_MODEL_BASE_URL + 'quest-touch-plus-v2-left.glb', - rayOrigin: { origin: {x: 0.0065, y: -0.0186, z: -0.05}, direction: {x: 0.1239, y: -0.5944, z: -0.7945} }, + modelUrl: META_CONTROLLER_MODEL_BASE_URL + 'left.glb', + rayOrigin: { origin: {x: 0.0065, y: -0.0186, z: -0.05}, direction: {x: 0.12394785839500175, y: -0.5944043672340157, z: -0.7945567170519814} }, modelPivotOffset: new THREE.Vector3(0, 0, 0), modelPivotRotation: new THREE.Euler(0, 0, 0) }, right: { - modelUrl: META_CONTROLLER_MODEL_BASE_URL + 'quest-touch-plus-v2-right.glb', - rayOrigin: { origin: {x: -0.0065, y: -0.0186, z: -0.05}, direction: {x: -0.1239, y: -0.5944, z: -0.7945} }, + modelUrl: META_CONTROLLER_MODEL_BASE_URL + 'right.glb', + rayOrigin: { origin: {x: -0.0065, y: -0.0186, z: -0.05}, direction: {x: -0.12394785839500175, y: -0.5944043672340157, z: -0.7945567170519814} }, modelPivotOffset: new THREE.Vector3(0, 0, 0), modelPivotRotation: new THREE.Euler(0, 0, 0) }