MeshBasicMaterial 颜色色调纹理贴图 Three.js

net*_*xis 5 blending colors texture-mapping three.js

我正在使用已应用颜色的 MeshBasicMaterial。

var material = new THREE.MeshBasicMaterial({color: myColor});
Run Code Online (Sandbox Code Playgroud)

有时我需要向材质添加纹理

material.map = new THREE.ImageUtils.loadTexture(...);
Run Code Online (Sandbox Code Playgroud)

这工作正常,但材质的颜色正在给纹理着色。

我意识到我可以将材质的颜色更改为白色以消除这种着色,但找不到删除材质颜色或更改颜色和纹理混合方式的方法 - 这可能吗?我试图避免创建新材料并尽可能避免更换。

Lee Stemkoski 的示例中演示了 - 将地图更改为“草”,然后更改材质颜色

http://trijs.org/docs/scenes/material-browser.html#MeshBasicMaterial

Edw*_*ard 0

由于您可以在事后设置材料,因此您应该能够在事后.map设置材料。.color

material.color = myColor;
Run Code Online (Sandbox Code Playgroud)

当然,为了使纹理可见,这种新颜色应该是白色,而不是黑色。