1.如何通过鼠标获取网格对象

    首先需要把鼠标的起始位置在左上角的屏幕坐标转换为笛卡尔坐标。然后将坐标转为为以Camera为中心点的三维空间坐标。接下来根据摄像头位置和鼠标位置的法向量创建射线对象。最终根据射线对象的intersectObjects函数确认哪个网格被选中。

    下面是比较经典的使用方法:

Android培训,安卓培训,手机开发培训,移动开发培训,云培训培训

function onDocumentMouseMove(event) {            if (controls.showRay) {                var vector = new THREE.Vector3(( event.clientX / window.innerWidth ) * 2 - 1, -( event.clientY / window.innerHeight ) * 2 + 1, 0.5);
                vector = vector.unproject(camera);                var raycaster = new THREE.Raycaster(camera.position, vector.sub(camera.position).normalize());                var intersects = raycaster.intersectObjects([sphere, cylinder, cube]);                if (intersects.length > 0) {  &