raycasting和onMouseClick的问题从Three.js场景中删除网格

时间:2018-10-22 23:22:35

标签: javascript three.js raycasting

当我单击它们时,我试图从我的three.js场景中删除4个网格。我似乎无法弄清楚问题出在哪里。我可以更改几何图形材质,但是当我尝试删除它们时不起作用。这是我下面的raycasting代码

var raycaster = new THREE.Raycaster();
var mouse = new THREE.Vector2();

function onMouseClick( event ) {

    mouse.x = ( event.clientX / window.innerWidth ) * 2 - 1;
    mouse.y = - ( event.clientY / window.innerHeight ) * 2 + 1;

    raycaster.setFromCamera( mouse, camera );

    var intersects = raycaster.intersectObjects([a, b, c, d]);

    for ( var i = 0; i < intersects.length; i++ ) {

    if (intersects[ i ].object.geometry.type == "PlaneGeometry") {
            intersects[ i ].object.parent.remove(intersects[ i ].object);
        }
    }

}

1 个答案:

答案 0 :(得分:0)

它可能是 intersects[ i ].object.parentnull,所以不会发生删除。