Three.js raycaster交叉口为';移动顶点后不精确
在移动几何体的顶点后,我对raycaster.intersectObjects()有问题。。它不与新几何体相交,只与与原始区域重叠的零件相交。该对象在视图中看起来已正确修改。我一直在努力寻找答案,但似乎没有一个解决办法奏效。我不确定出了什么问题Three.js raycaster交叉口为';移动顶点后不精确,three.js,geometry,intersect,vertices,Three.js,Geometry,Intersect,Vertices,在移动几何体的顶点后,我对raycaster.intersectObjects()有问题。。它不与新几何体相交,只与与原始区域重叠的零件相交。该对象在视图中看起来已正确修改。我一直在努力寻找答案,但似乎没有一个解决办法奏效。我不确定出了什么问题 //move parts/vertices for(var p=0; p<latticeModel.selected.length; p++){ var partNum = latticeModel.sel
//move parts/vertices
for(var p=0; p<latticeModel.selected.length; p++){
var partNum = latticeModel.selected[p];
if(latticeModel.part[partNum].children[1].visible==true){
latticeModel.part[partNum].position.add(vector);
latticeCloud.tiles.part[partNum].position.add(vector);
}else{
var localVector = vector.clone();
localVector.add(latticeCloud.tiles.part[partNum].position);
latticeCloud.tiles.part[partNum].worldToLocal(localVector);
for(var v=0; v<4; v++){
if( latticeCloud.tiles.colors[partNum][v].getHex() == 0xfe0000 ||
latticeCloud.tiles.colors[partNum][v].getHex() == 0xff00ff ){
latticeCloud.tiles.part[partNum].geometry.vertices[v].add(localVector);
latticeCloud.tiles.part[partNum].geometry.verticesNeedUpdate = true;
latticeModel.part[partNum].children[0].geometry.vertices[v].add(localVector);
latticeModel.part[partNum].children[0].geometry.verticesNeedUpdate = true;
//added these below to try and debug, but still won't help
latticeModel.part[partNum].children[0].geometry.normalsNeedUpdate = true;
latticeModel.part[partNum].children[0].geometry.elementsNeedUpdate = true;
latticeModel.part[partNum].children[0].geometry.tangentsNeedUpdate = true;
latticeModel.part[partNum].children[0].geometry.computeFaceNormals = true;
latticeModel.part[partNum].children[0].geometry.computeVertexNormals = true;
latticeModel.part[partNum].children[0].geometry.computeBoundingBox = true;
latticeModel.part[partNum].children[0].geometry.computeBoundingSphere = true;
}
}
}
}
如果修改几何体的顶点,几何体的边界球体和边界框可能会变得无效 光线投射代码将为您重新计算它们,但您需要设置以下内容:
geometry.boundingSphere = null;
geometry.boundingBox = null;
three.js r.71如果修改几何体的顶点,几何体的边界球体和边界框可能会变得无效 光线投射代码将为您重新计算它们,但您需要设置以下内容:
geometry.boundingSphere = null;
geometry.boundingBox = null;
three.js r.71如果修改几何体的顶点,几何体的边界球体和边界框可能会变得无效 光线投射代码将为您重新计算它们,但您需要设置以下内容:
geometry.boundingSphere = null;
geometry.boundingBox = null;
three.js r.71如果修改几何体的顶点,几何体的边界球体和边界框可能会变得无效 光线投射代码将为您重新计算它们,但您需要设置以下内容:
geometry.boundingSphere = null;
geometry.boundingBox = null;
three.js r.71提示:删除所有
needsUpdate
标志,只添加所需的标志。尝试直到正确为止。提示:删除所有needsUpdate
标志,只添加所需的标志。尝试直到正确为止。提示:删除所有needsUpdate
标志,只添加所需的标志。尝试直到正确为止。提示:删除所有needsUpdate
标志,只添加所需的标志。尝试直到你做对为止。