function ObjectSelect(_scene, _camera,outlinePass) { var raycaster = new THREE.Raycaster(); var mouse = new THREE.Vector2(); let selectedObjects = []; window.addEventListener( 'click', onMouseClick); function onMouseClick(event) { let x, y; if (event.changedTouches) { x = event.changedTouches[0].pageX; y = event.changedTouches[0].pageY; } else { x = event.clientX; y = event.clientY; } mouse.x = (x/ window.innerWidth) * 2 - 1; mouse.y = -(y/ window.innerHeight) * 2 + 1; raycaster.setFromCamera(mouse, _camera); var intersects = raycaster.intersectObjects([_scene], true); if (intersects.length === 0) { return; } selectedObjects = []; selectedObjects.push(intersects[0].object); outlinePass.selectedObjects = selectedObjects; } }