我们可以创建具有相同几何和材质的多个网格。但每个网格的属性是否有重复? 我担心记忆问题。谢谢!
答案 0 :(得分:1)
正如您在THREE.Mesh
代码中看到的那样:
THREE.Mesh = function ( geometry, material ) {
THREE.Object3D.call( this );
this.type = 'Mesh';
this.geometry = geometry !== undefined ? geometry : new THREE.Geometry();
this.material = material !== undefined ? material : new THREE.MeshBasicMaterial( { color: Math.random() * 0xffffff } );
this.updateMorphTargets();
};
在clone
方法中:
THREE.Mesh.prototype.clone = function () {
return new this.constructor( this.geometry, this.material ).copy( this );
};
也就是说,从几何/材质创建网格或克隆网格时,其几何和材质属性是对相同对象的引用。如果修改材质的颜色或几何体的顶点,则原始颜色和副本都将具有新的颜色/几何体。
答案 1 :(得分:0)
我认为最好的想法是克隆
var Box_geometry = Box_geometry.clone();
var Box_material = Box_material.clone();
I've prepared a simple example in JSFIDDLE
r.73