【问题标题】:I want to change the cube color, which is created by three.js我想改变由three.js创建的立方体颜色
【发布时间】:2013-10-31 10:11:33
【问题描述】:

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

cube = new THREE.Mesh(
                     new THREE.CubeGeometry(50,20,50),              
                     new THREE.MeshLambertMaterial({color: 0x6699ff}) 
                );
                scene.add(cube);
                cube.position.set(80,32,40);

但是我想改变立方体的颜色,我该怎么做?

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

【问题讨论】:

  • 如果你使用环境光检查thiscube.material.ambient = cube.material.color; 可能会有所帮助。

标签: colors three.js cube


【解决方案1】:

你可以使用这个功能:

    var color = 0x421575; // Your color
    cube.material.color.setHex( color );

结果显示在那些小提琴中:

希望这会有所帮助。

【讨论】:

  • 我尝试了这个功能,但它不起作用。有人说只有“MeshBasicMaterial”才有用。我不知道这是不是真的。你有其他功能来保存它吗?谢谢你的回答。
  • 如果您想使用 MeshLambertMaterial,您还必须正确设置灯光(这种材质计算阴影效果)。工作 MeshLambertMaterial 的编辑小提琴如下:jsfiddle.net/QtBlueWaffle/dmTZg/1希望这有帮助
  • 您的功能可用。我不设置灯,我添加renderer.clear(); renderer.render(scene, camera);. 它可以工作。非常感谢。顺便说一下,MeshBasicMaterial 和 MeshLambertMaterial 有什么区别。谢谢你的回答。
  • MeshBasicMaterial 用于绘制平面或线框几何图形,MeshLambertMaterial 用于绘制非闪亮(朗伯)表面。您可以检查THREE.js Documentation(即使不完整)。如果您想查看运行时的差异,请点击此处:link
猜你喜欢
  • 2012-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-22
  • 1970-01-01
  • 1970-01-01
  • 2013-02-02
  • 2017-01-18
相关资源
最近更新 更多