Three.js 在剪切一些vertix后更新OBJ文件

Three.js 在剪切一些vertix后更新OBJ文件,three.js,Three.js,我在医学领域使用threejs进行一个项目,OBJ文件是胫骨,我的目标是在给定位置的基础上切割胫骨的一部分,现在我可以通过替换对象的vertix来完成,但我的问题是我不能直接更新对象,所以每次我删除旧对象并上传它时,虽然我把VerticenedUpdate… 我的问题是,是否可以直接更新对象 loader.load('img/cube.obj',function(object){ var material = new THREE.MeshLambertMaterial({col

我在医学领域使用threejs进行一个项目,OBJ文件是胫骨,我的目标是在给定位置的基础上切割胫骨的一部分,现在我可以通过替换对象的vertix来完成,但我的问题是我不能直接更新对象,所以每次我删除旧对象并上传它时,虽然我把VerticenedUpdate… 我的问题是,是否可以直接更新对象

 loader.load('img/cube.obj',function(object){

       var material = new THREE.MeshLambertMaterial({color:0xA0A0A0});
       slice_onZ.onChange(function(z){


        object.traverse( function ( child ) {
       if ( child instanceof THREE.Mesh ) {
           child.material = material;
           geometry = new THREE.Geometry().fromBufferGeometry(child.geometry);
           for(var i=0 ; i< geometry.vertices.length ; i++) {
             if (geometry.vertices[ i ].x != 0) {
                     geometry.vertices[ i ].x = z;
             }
             if (geometry.vertices[ i ].y != 0) {
                     geometry.vertices[ i ].y = z;
             }
             if (geometry.vertices[ i ].z != 0) {
                     geometry.vertices[ i ].z = z;
             }

          }         
           geometry.verticesNeedUpdate = true;            
           mesh = new THREE.Mesh( geometry, material );  

           console.log(mesh.geometry.attributes);
          scene.add(mesh);
          }
         });               
       });  

    },onProgress,onError);

  }
loader.load('img/cube.obj',函数(object){
var material=新的三个.MeshLambertMaterial({color:0xA0A0});
slice_onZ.onChange(函数(z){
遍历(函数(子对象){
if(三个.Mesh的子实例){
child.material=material;
几何体=新的三个.geometry().fromBufferGeometry(child.geometry);
对于(var i=0;i

这是我的代码,我尝试更新几何体,但它不起作用,我必须每次重新加载对象并删除旧对象以显示新对象。

确实
mesh.geometry.attributes.position.needsUpdate=true工作?如果没有,请提供更多信息,以便重现您的问题。您好,谢谢您的回答,它不起作用,我没有访问属性的权限,例如,对于更新多维数据集,我编写此codevar loader=new THREE.OBJLoader(manager);slice_onZ.onChange(函数(z){loader.load('img/cube.obj',函数(object){object.children[0]。geometry.dynamic=true;object.children[0]。geometry.verticesNeedUpdate=true;console.log(object);scene.add(object);},onProgress,onError);})请参见.Does
mesh.geometry.attributes.position.needsUpdate=true工作?如果没有,请提供更多信息,以便重现您的问题。您好,谢谢您的回答,它不起作用,我没有访问属性的权限,例如,对于更新多维数据集,我编写此codevar loader=new THREE.OBJLoader(manager);slice_onZ.onChange(函数(z){loader.load('img/cube.obj',函数(object){object.children[0]。geometry.dynamic=true;object.children[0]。geometry.verticesNeedUpdate=true;console.log(object);scene.add(object);},onProgress,onError)看。