Colors 我想更改由three.js创建的立方体颜色

Colors 我想更改由three.js创建的立方体颜色,colors,three.js,cube,Colors,Three.js,Cube,我创建了一个这样的立方体 cube = new THREE.Mesh( new THREE.CubeGeometry(50,20,50), new THREE.MeshLambertMaterial({color: 0x6699ff}) ); scene.add(cube); cube.p

我创建了一个这样的立方体

cube = new THREE.Mesh(
                     new THREE.CubeGeometry(50,20,50),              
                     new THREE.MeshLambertMaterial({color: 0x6699ff}) 
                );
                scene.add(cube);
                cube.position.set(80,32,40);
但是我想改变立方体的颜色,我该怎么做


任何帮助都将不胜感激。谢谢

您可以使用此功能:

    var color = 0x421575; // Your color
    cube.material.color.setHex( color );
结果显示在这些小提琴中:

  • 对于MeshBasicMaterial:
  • 对于Meshlambert材质:

希望这有帮助。

您可以使用此功能:

    var color = 0x421575; // Your color
    cube.material.color.setHex( color );
结果显示在这些小提琴中:

  • 对于MeshBasicMaterial:
  • 对于Meshlambert材质:

希望这能有所帮助。

我尝试了这个功能,但不起作用。有人说它只有在“MeshBasicMaterial”时才有用。我不知道这是不是真的。您是否有其他功能来保存它?谢谢您的回答。如果您想使用Meshlambert材质,您还必须正确设置灯光(这种材质计算阴影效果)。对工作网格LambertMaterial编辑的小提琴如下:希望此帮助您的功能可用。我不设置灯光,而是添加
renderer.clear();渲染器。渲染(场景、摄影机)它可以工作。谢谢。顺便问一下,MeshBasicMaterial和MeshLambertMaterial有什么区别。感谢您的回答。MeshBasicMaterial用于绘制平面或线框几何图形,MeshLambertMaterial用于绘制无光泽(Lambertian)曲面。您可以检查(即使未完成)。如果您想查看运行时上的差异,可以这样做:我尝试了这个函数,但它不起作用。有人说它只有在“MeshBasicMaterial”时才有用。我不知道这是不是真的。您是否有其他功能来保存它?谢谢您的回答。如果您想使用Meshlambert材质,您还必须正确设置灯光(这种材质计算阴影效果)。对工作网格LambertMaterial编辑的小提琴如下:希望此帮助您的功能可用。我不设置灯光,而是添加
renderer.clear();渲染器。渲染(场景、摄影机)它可以工作。谢谢。顺便问一下,MeshBasicMaterial和MeshLambertMaterial有什么区别。感谢您的回答。MeshBasicMaterial用于绘制平面或线框几何图形,MeshLambertMaterial用于绘制无光泽(Lambertian)曲面。您可以检查(即使未完成)。如果您想查看运行时的差异,请点击这里:如果您使用环境光检查<代码>cube.material.ambient=cube.material.color可能有帮助。如果使用环境光检查<代码>cube.material.ambient=cube.material.color可能会有帮助。