有没有办法在THREE.JS中裁剪模型?

有没有办法在THREE.JS中裁剪模型?,three.js,Three.js,有没有办法在THREE.JS中裁剪模型 例如,我有这个模型: 我想把他从腰带上剪下来,就像这样: 有办法吗 也许创建一个立方体并将其放置在覆盖腿部的位置,然后以某种方式删除模型中与立方体相交的所有部分 谢谢 [更新] 我想我找到了一个适合我的解决方案 我想改进它并替换PointInsideBox来检查顶点或面是否碰撞或是否在第二个网格内,知道吗 这个解决方案对我来说更好,因为所有的纹理和骨骼动画都非常完美 mesh.material.materials.push(新的三个.MeshBasi

有没有办法在THREE.JS中裁剪模型

例如,我有这个模型:

我想把他从腰带上剪下来,就像这样:

有办法吗

也许创建一个立方体并将其放置在覆盖腿部的位置,然后以某种方式删除模型中与立方体相交的所有部分

谢谢

[更新]

我想我找到了一个适合我的解决方案

我想改进它并替换PointInsideBox来检查顶点或面是否碰撞或是否在第二个网格内,知道吗

这个解决方案对我来说更好,因为所有的纹理和骨骼动画都非常完美

mesh.material.materials.push(新的三个.MeshBasicMaterial({visible:false}));
var matIndex=网格材料材料长度-1;	
函数点InsideBox(点,框){
如果(

point.x>=box.x1&&point.x=box.y1&&point.y=box.z1&&point.z您可以尝试使用此项目

var cube_geometry=新的三立方几何(10,10,10);
var cube_网格=新的三个网格(立方体_几何体);
立方体网格位置x=x;
立方体网格位置y=0;//y;
立方体网格位置z=z;
var CutBSP=新的三个BSP(立方体网格);
var ModelBSP=新的三个BSP(网格)//
var cube_geometry = new THREE.CubeGeometry(10,10,10);
var cube_mesh = new THREE.Mesh(cube_geometry);
cube_mesh.position.x = x;
cube_mesh.position.y = 0; //y;
cube_mesh.position.z = z;

var CutBSP = new ThreeBSP(cube_mesh);
var ModelBSP = new ThreeBSP(mesh); //<---- your THREE Mesh
var EditiedBSP = ModelBSP.subtract(CutBSP);

var result = EditiedBSP.toMesh(new THREE.MeshLambertMaterial({shading: THREE.SmoothShading}));
result.geometry.computeVertexNormals();
mesh.geometry = result.geometry; //<---- your NEW Geometry