Tengo problemas para acceder a un objeto en mi escena. Descubrí que la razón por la que no pude acceder fue porque el Raytracer se estaba cargando antes de que el mundo terminara de cargarse. Funciona bien para los objetos agregados por código, pero no funciona cuando se buscan objetos importados por GLTFLoader.
He configurado algo para desencadenar un evento cuando se han cargado todos los objetos. Pero no puedo acceder a la variable dentro del cheque en mi función de actualización.
setRayCaster() { this.rayCaster = new THREE.Raycaster() this.foundButton = this.main.scene.children.find(child => child.name === 'Test') this.objectsToTest = [this.main.scene.children.find(child => child.name === 'Test')] this.resources.on('ready', () => { this.UNABLETOACCESSTHIS = this.scene.getObjectByName('Trackpad') }) } update() { this.rayCaster.setFromCamera(this.cursor, this.camera.view) this.intersects = this.rayCaster.intersectObject(this.foundButton) UNABLETOACCESSTHIS.here for(const object of this.objectsToTest) { object.material.color.set('#ff0000') } for(const intersect of this.intersects) { intersect.object.material.color.set('#0000ff') } // console.log(this.intersects) } }