【发布时间】:2021-09-29 01:04:18
【问题描述】:
我有一个网格myMesh:
const vertices = new Float32Array( [
0, 1, 0, 0, 1, 2, 2, 1, 2,
0, 1, 0, 2, 1, 2, 2, 1, 0
]);
const myGeometry = new THREE.BufferGeometry();
myGeometry.setAttribute('position', new THREE.BufferAttribute(vertices, 3));
const myMesh = new THREE.Mesh(myGeometry, new THREE.MeshBasicMaterial({color: 0x00ff00, side: THREE.DoubleSide}));
scene.add(myMesh);
还有一行myLine:
var material = new THREE.LineBasicMaterial( { color: "#0000ff"});
var geometry = new THREE.BufferGeometry();
const lineVerts = new Float32Array([ 1, 0, 1, 1, 2, 1]);
geometry.setAttribute('position', new THREE.BufferAttribute(lineVerts, 3));
var myLine = new THREE.Line( geometry, material );
scene.add(myLine);
我想得到线和网格彼此相交的点。这可能吗?
function getIntersection(mesh, line) {
// get point where they intersect (if they do so)
return point
}
【问题讨论】:
标签: three.js line mesh intersection