Pasé tanto tiempo tratando de averiguar por qué no puedo obtener un valor de UserData. Creo que mi código funciona bien, pero estoy perdido.
El código de raycast es bastante simple.
const interactIntersects = raycaster.intersectObjects( flags, true ); if (interactIntersects.length > 0) { console.log(interactIntersects[0].object.userData.id); }No puedo entender por qué me sigue dando el valor indefinido. Estaba pensando que podría haber sido la inserción de los datos en sí, pero cuando lo verifiqué devolvió los valores. (Comprobando en el lugar donde se está creando)
export function createFlag(flag_id, web, desc, x, y, z, orx, ory, orz) { const fbxLoader = new FBXLoader() fbxLoader.load('flag.fbx', (object) => { object.scale.set(.003, .003, .005); scene.add(object) object.position.set(x, y, z) object.rotation.set(orx, ory, orz); object.userData = { id: flag_id }; console.log(object.userData.id); flags.push(object); }); createModal(flag_id, web, desc); }¿Alguien puede ayudar? Gracias por adelantado.
Descubrí que no puede establecer userData en objetos importados.