四、threejs——模型交互

射线类,用于检测交互

const rayCaster = new Raycaster();

二维坐标,需要转换成空间坐标

const vector2 = new THREE.Vector2();

e为事件的对象

vector2.x = (e.clientX / window.innerwidth) * 2 - 1;

vetor2.y = -(e.clientY / window.innerHeight) * 2 + 1  

需要在渲染函数中

rayCaster .setFormCamera(vector2,camera);

const intersectobject  = rayCaster.intersectObject(需要操作的模型对象);//也有intersectObjects方法,控制数组类对象

intersectobject为交互的对象,可自行决定如何处理

原文地址:https://www.cnblogs.com/wangc04/p/12405728.html