我知道我们可以通过移除任何对象scene.__removeObject()
所以我使用 raycaster 移除屏幕中的任何对象。当我单击一个对象时,它会intersects.length
变成 >0scene.__removeObject(SELECTED)
并被执行。但是如果点击一个Arrowhelper
对象(比如ARROW
)intersects.length
仍然为零。
那么我如何从 GUI 中删除箭头助手。在我知道scene.__removeObject(ARROW)
有效的代码中
function onDocumentMouseDown( event ) {
event.preventDefault();
var vector = new THREE.Vector3( mouse.x, mouse.y, 0.5 );
projector.unprojectVector( vector, camera );
var raycaster = new THREE.Raycaster( camera.position, vector.sub( camera.position ).normalize() );
var intersects = raycaster.intersectObjects( objects );
if ( intersects.length > 0 ) {
controls.enabled = false;
SELECTED = intersects[ 0 ].object;
scene.__removeObject(SELECTED)
// scene.__removeObject(ARROW)
}
}