在立方体上使用纹理和颜色 three.js

Use a texture and a color on a cube three.js

我想在 three.js 中创建一个同时具有纹理和颜色的立方体。

我想在选中立方体时更改颜色。这就是为什么它需要一种颜色。

顶部有颜色的黑白纹理是否允许我更改纹理的颜色?

material 的颜色总是会影响对象的外观,即使上面有纹理。默认颜色值为白色,纹理看起来很正常。但是如果你将颜色设置为红色,纹理会变成红色(例如,如果你有一个 black/white 纹理,你会得到一个 black/red 纹理)。

var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshLambertMaterial();  // default color is 0xffffff
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );

var loader = new THREE.TextureLoader();
loader.load('texture.jpg',
    function ( texture ) {
        material.map: texture;
    });

// onclick: set color
material.color.set(0xff0000);