我想用 raycaster 获取组的名称,但我决定取这个名字,我把这个名字取空,我的代码是这个
我需要做的是,当鼠标在组网格上时,我需要提醒我组的名称或我知道我击中特定网格的东西
` // +++++++++++++++++++++++ RAY CASTER +++++++++++++++++++++
// creating group and add all the pieses
group = new THREE.Object3D(); //create an empty container
group.add(obj_body); //add a mesh with geometry to it
group.name = 'myGroupName';
scene.add(group);
ray_objects.push(group);
var raycaster = new THREE.Raycaster();
var mouse = new THREE.Vector2();
window.addEventListener( 'mousemove', onMouseMove, false );
window.addEventListener( 'onDocumentMouseDown', onMouseMove, false );
function onMouseMove( event ) {
// calculate mouse position in normalized device coordinates
// (-1 to +1) for both components
mouse.x = ( event.clientX / window.innerWidth ) * 2 - 1;
mouse.y = - ( event.clientY / window.innerHeight ) * 2 + 1;
// console.log(mouse.x);
$("#x_pos").html(mouse.x);
$("#y_pos").html(mouse.y);
// update the picking ray with the camera and mouse position
raycaster.setFromCamera( mouse, camera );
// calculate objects intersecting the picking ray
var intersects = raycaster.intersectObjects( ray_objects, true );
for ( var i = 0; i < intersects.length; i++ ) {
if (intersects.length > 0) {
var firstIntersectedObject = intersects[0];
// alert(firstIntersectedObject);
console.log(firstIntersectedObject);
intersects[ 0 ].object.material.color.set( 0x00ff00 );
// this will give you the first intersected Object if there aremultiple.
renderer.render( selected_scene, camera );
}
// alert(intersects);
}}`