Three.js raycaster交叉口为';移动顶点后不精确

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

在移动几何体的顶点后,我对raycaster.intersectObjects()有问题。。它不与新几何体相交,只与与原始区域重叠的零件相交。该对象在视图中看起来已正确修改。我一直在努力寻找答案,但似乎没有一个解决办法奏效。我不确定出了什么问题

 //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
标志,只添加所需的标志。尝试直到你做对为止。