问题 :
我创建了一个网格并克隆了它。当我尝试选择一个时,两个都被选中。网格具有不同的 ID,但材质和几何图形 ID 相同。
我创建了一个简单的 jsfiddle 示例:jsfiddle
我如何克隆:
var cloned = object.clone();
或者
var cloned = new THREE.Mesh(object.geometry, object.material);
在这两种情况下,结果是相同的,单击一次 - 选择两者。我试图改变材料ID,没有帮助。
如果我创建新材料,那么一切都很好,我可以分别选择每个对象:
var cloned = new THREE.Mesh(object.geometry, new THREE.MeshLambertMaterial(....));
或者
var cloned = new THREE.Mesh(object.geometry, object.material.clone());
我的问题。object.clone().material
和
之间的材料有什么区别object.material.clone()
?
同样的行为是当我创建许多具有相同材质的网格时。鼠标按下一个网格将选择所有 10 个网格。例子:
var geo = new THREE.CubeGeometry(....)
var material = new THREE.MeshLambertMaterial(....)
for(var i = 0; i < 10; i++){
var mesh = new THREE.Mesh(geo, material);
}