From aa38b5fe7feb5f6fa68a9ca134fefb9d2f6889b1 Mon Sep 17 00:00:00 2001 From: Vincent Fretin Date: Mon, 15 Jun 2026 09:14:00 +0200 Subject: [PATCH 1/2] Fix obb-collider to work on text-geometry --- src/components/obb-collider.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/obb-collider.js b/src/components/obb-collider.js index a97bcdc6e2c..9cafc3f65e0 100644 --- a/src/components/obb-collider.js +++ b/src/components/obb-collider.js @@ -22,6 +22,7 @@ registerComponent('obb-collider', { this.updateBoundingBox = this.updateBoundingBox.bind(this); this.el.addEventListener('model-loaded', this.onModelLoaded); + if (this.data.centerModel) { this.centerModel(); } this.updateCollider(); this.system.addCollider(this.el); @@ -44,7 +45,7 @@ registerComponent('obb-collider', { centerModel: function () { var el = this.el; - var model = el.components['gltf-model'] && el.components['gltf-model'].model; + var model = el.getObject3D('mesh'); var box; var center; @@ -146,6 +147,7 @@ registerComponent('obb-collider', { auxEuler.copy(trackedObject3D.rotation); trackedObject3D.rotation.set(0, 0, 0); + trackedObject3D.parent.updateWorldMatrix(true, false); trackedObject3D.parent.matrixWorld.decompose(auxPosition, auxQuaternion, auxScale); auxMatrix.compose(auxPosition, identityQuaternion, auxScale); trackedObject3D.parent.matrixWorld.copy(auxMatrix); From 349035c646dda4d49b99bdc5612b0bf055d24ac0 Mon Sep 17 00:00:00 2001 From: Vincent Fretin Date: Mon, 15 Jun 2026 09:39:07 +0200 Subject: [PATCH 2/2] Restore rotation on trackedObject3D and not this.el.object3D (fix #5715) --- src/components/obb-collider.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/obb-collider.js b/src/components/obb-collider.js index 9cafc3f65e0..d744d0f693d 100644 --- a/src/components/obb-collider.js +++ b/src/components/obb-collider.js @@ -163,7 +163,7 @@ registerComponent('obb-collider', { // Restore rotations. trackedObject3D.parent.matrixWorld.compose(auxPosition, auxQuaternion, auxScale); - this.el.object3D.rotation.copy(auxEuler); + trackedObject3D.rotation.copy(auxEuler); }; })(),