克隆材料无法正常工作

问题描述 投票: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);    

因此,the texture are equally也许您需要在几何语言中设置重复和偏移纹理?

three.js
1个回答
3
投票

Material.clone会生成一个浅表副本,因此您最终会得到两个具有相同地图的不同材质。如果要在其上设置不同的值,也需要克隆纹理。

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;
© www.soinside.com 2019 - 2024. All rights reserved.