let index = Math.floor(Math.random() * trashModels.length);
let model = trashModels[index].scene.clone();
let trash = model.children[1] as Object3D;
let trashMesh = trash.children[0] as Mesh<BufferGeometry, MeshStandardMaterial>;
render.scene.attach(trashMesh);
trashMesh.position.set(0, 0, 0);
// this is useful
// trashMesh.scale.multiplyScalar(0.1);
let geometry = trashMesh.geometry.clone() as BufferGeometry;
let material = trashMesh.material.clone() as MeshStandardMaterial;
// it's useless
// geometry.scale(0.1, 0.1, 0.1);
let mesh = new InstancedMesh(geometry, material, 10);
mesh.instanceMatrix.setUsage(DynamicDrawUsage);
mesh.castShadow = true;
mesh.position.set(0, 2, 0);
mesh.add(new AxesHelper(10));
render.scene.attach(mesh);
Why do I have no use for changes in geometry, whether scaling, moving or rotating. By the way, I also want to know how to make the center of mass of the geometry be at the origin. My current geometry is offset in InstancedMesh.