三个JS - 如何用Y平面切割3D对象?

Three JS - How to cut a 3D object with Y plane?

是否可以使用 Three JS 来切割网格或带有我们可以移动的平面(主要是 Y 轴)的对象? 我想要这张图片中显示的相同功能:

目标是保持网格完整,以允许用户移动平面并查看 Y 平面功能中的网格。

根据 WestLangley 的评论,他发布的 sample link 中的以下代码似乎与您要实现的目标相关:

// ***** Clipping planes: *****
var localPlane = new THREE.Plane(new THREE.Vector3(0, -1, 0), 0.8);

// Geometry
var material = new THREE.MeshPhongMaterial({
    color: 0x80ee10,
    shininess: 100,
    side: THREE.DoubleSide,

    // ***** Clipping setup (material): *****
    clippingPlanes: [ localPlane ],
    clipShadows: true
});

var geometry = new THREE.TorusKnotBufferGeometry(0.4, 0.08, 95, 20);

var mesh = new THREE.Mesh(geometry, material);
mesh.castShadow = true;
scene.add(mesh);