Я работаю над редактором объектов в three.js.Прямо сейчас я борюсь с одной проблемой.Я загружаю облако точек, создаю его клон и сохраняю его как исходный объект по умолчанию и выполняю поворот матрицы в загруженном облаке точек.
let loaderMaster = new THREE.PLYLoader();
loaderMaster.load('./ply_data/rawMaster.ply', function(mGeom) {
var scanMaterialM = new THREE.PointsMaterial({
size: 15,
color: 0xff0000
});
mGeom.computeVertexNormals();
masterCloud = new THREE.Points(mGeom, scanMaterialM);
masterCloud.rotation.x = -90 * Math.PI / 180;
masterCloud.geometry.scale(-1, -1, 1);
masterCloud.name = "masterMesh";
masterRawGeo = masterCloud.clone();
scene.add(masterCloud)
transformControlmaster.attach(masterCloud)
scene.add(transformControlmaster);
transform('master');
});
На этом первом шаге все работает нормально.Когда что-то должно быть выполнено во второй раз.Я удаляю текущее облако точек со сцены и заменяю его исходным клоном по умолчанию, а затем выполняю новую матричную манипуляцию с ним.Но результат - полная чушь.Кажется, даже я удалил объект и очистил сцену, каким-то образом первые манипуляции каким-то образом сохранены.Как лучше всего заменить геометрию клоном с глубоким копированием, совершенно не подверженным влиянию предыдущих манипуляций?
Заранее большое спасибо !!!