yah and
for (let i = 0; i < this.originalPlanes.length; i++){
const original = this.originalPlanes[i];
if (!original) return;
const clip = new THREE.Plane();
clip.copy(original).applyMatrix4(this.matrix);
this.clippingPlanes.push(clip);
}
i forgot, i was use this.matrixWorld in constructor not this.matrix
and in animate func
function animate() {
controls.update();
carousel.position.x += 0.01 * direction;
if (carousel.position.x > 1 || carousel.position.x < -1) {
direction *= -1;
}
carousel.updateMatrixWorld(true);
for (let i = 0; i < carousel.originalPlanes.length; i++){
const original = carousel.originalPlanes[i];
if (!original) return;
const clip = carousel.clippingPlanes[i];
if(clip) {
clip.copy(original).applyMatrix4(carousel.matrixWorld);
}
}
renderer.render(scene, camera);
}
i used carousel.matrixWorld