I have attached an example image.
record
let canvasGroupChild: Mesh[] = [];
for (let i = 0; i < plane.children.length; i++) {
canvasGroupChild.push((plane.children[i] as Mesh).clone());
}
if (canvasReady)
setCanvasObject({
object: canvasGroupChild,
selectedMaterial: tmpPlane.current as Material[],
selectedObject:
tmpSelected.current as selectedMaterialsProps[],
}),
undo code
for (let i = plane.children.length - 1; i >= 0; i--) {
plane.remove(plane.children[i]);
}
if (items.object) {
for (let i = items.object.length - 1; i >= 0; i--) {
const target = items.object[i]
if (target.name === "dragGroup" && target.children.length > 0 && target instanceof Three.Group) {
dragGroup.current = target;
} else {
plane.add(target)
}
}
}
if (items.selectedMaterial) {
tmpPlane.current = [...items.selectedMaterial]
}
if (items.selectedObject) {
tmpSelected.current = [...items.selectedObject]
}
I don’t know if my code is the problem or if it’s the problem of three.js I don’t know. If you have any guesses, please feel free to write your opinion.