Estoy tratando de emitir rayos desde el centro de un personaje para detectar la distancia a las paredes y evitar colisiones. Configuré tanto el material en DoubleSide como MatrixWorld actualizado, pero sigo obteniendo una matriz de intersección vacía.
Mi código está a continuación:
mesh_parent_object.updateMatrixWorld(); mesh_parent_object.material[0].side = THREE.DoubleSide; var raycaster = new THREE.Raycaster(); var vector_origin = new THREE.Vector3(character.position.x, 0, character.position.z); var vector_target = new THREE.Vector3(-1.2741646766662598, character.position.y, 1.8035423755645752); var vector_direction = vector_target.clone().sub(character.position).normalize(); raycaster.set(vector_origin, vector_direction); var intersects = raycaster.intersectObject(mesh_parent_object, true);He incluido una captura de pantalla que muestra que el raycast se cruza con las paredes e incluso las atraviesa.
¿Puede alguien ayudarme a obtener los valores de intersección para mallas como esta?
¡Gracias!