Object3D.copy()
是 three.js
中用来复制 Object3D
对象的方法。新的对象为原始对象的一个浅拷贝,但其 UUID 和名称不同。
object.copy(source);
object
: Object3D
类型的实例对象,即要赋值的新对象。source
: Object3D
类型的实例对象,即被复制的对象。// 创建一个简单的平面
const geometry = new THREE.PlaneBufferGeometry(5,5);
const material = new THREE.MeshBasicMaterial({color: '#000000'});
const plane = new THREE.Mesh(geometry, material);
// 复制平面
const newPlane = new THREE.Mesh().copy(plane);
// 添加新平面到场景
scene.add(newPlane);
Object3D.clone()
方法。copy()
方法是浅拷贝,因此复制对象的部分属性如 matrix
、matrixWorld
、children
等仍与原始对象共享同一引用,需要通过调用 clone()
方法来创建副本。