Three.js 该材料的克隆工作不正常
改变新材料的参数会对旧材料产生影响Three.js 该材料的克隆工作不正常,three.js,Three.js,改变新材料的参数会对旧材料产生影响 var material = new THREE.MeshLambertMaterial({ map: Texture, side: THREE.DoubleSide }); material.map.repeat.set(3,3); material.map.offset.set(0.1,0); var geometry = new THREE.PlaneGeometry(100, 100, 1, 1);
var material = new THREE.MeshLambertMaterial({
map: Texture,
side: THREE.DoubleSide
});
material.map.repeat.set(3,3);
material.map.offset.set(0.1,0);
var geometry = new THREE.PlaneGeometry(100, 100, 1, 1);
var mesh = new THREE.Mesh(geometry, material);
mesh.position.set(-70, 0, 0);
scene.add(mesh);
var material2 = material.clone();
material2.map.repeat.set(2,2);
material2.map.offset.set(0.5,0);
var geometry = new THREE.PlaneGeometry(100, 100, 1, 1);
var mesh = new THREE.Mesh(geometry, material2);
mesh.position.set(70, 0, 0);
scene.add(mesh);
因此,,
也许您需要用几何语言设置“重复”和“偏移”纹理?材质。克隆制作一个浅拷贝,因此您最终会得到两个具有相同贴图的不同材质。如果要在纹理上设置不同的值,还需要克隆纹理
var material2 = material.clone();
material2.map = material2.map.clone();
material2.map.repeat.set(2,2);
material2.map.offset.set(0.5,0);
material2.map.needsUpdate = true;
也许你需要材料。复制()