Three.js 三个.js剪裁平面

Three.js 三个.js剪裁平面,three.js,cesium,clipping,Three.js,Cesium,Clipping,我从中实现了一种技术 几乎所有功能都正常,但我需要使用spotLight.shadow.camera frustum剪裁模型: shadowCameraHelper = new THREE.CameraHelper( three.spotLight.shadow.camera ); 我了解如何获取用于剪裁的平面: frustum = new THREE.Frustum(); frustum.setFromMatrix( new THREE.Matrix4().multiply( spotLi

我从中实现了一种技术

几乎所有功能都正常,但我需要使用spotLight.shadow.camera frustum剪裁模型:

shadowCameraHelper = new THREE.CameraHelper( three.spotLight.shadow.camera );

我了解如何获取用于剪裁的平面:

frustum = new THREE.Frustum();
frustum.setFromMatrix( new THREE.Matrix4().multiply( spotLight.shadow.camera.projectionMatrix, spotLight.shadow.camera.matrixWorldInverse ) );
当我将辅助对象添加到相机时,我发现它们几乎适合SpotLightHelper-由于spotLight.shadow.camera.near参数(如果我理解正确),会有轻微差异:

我不知道如何为平面设置正确的位置来剪裁模型。完美地说,它必须是局部剪辑(但全局也可以)

所有三个JS对象都放置在铯空间中,因此坐标类似于:

(x: 2847473.624183968, y: 2197845.085011498, z: 5249482.064107984)
所以我有两个问题:

如何将平截头体平面完全安装到CameraHelper

如何使用平截头体平面剪裁模型

还是我做错了什么,还有其他方法来解决问题

(x: 2847473.624183968, y: 2197845.085011498, z: 5249482.064107984)