2013-10-31 56 views
1

創建我創建這樣我想改變立方體的顏色,這是由three.js所

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

立方體,但我想改變立方體的顏色,我該怎麼辦?

任何幫助,將不勝感激。由於

+0

如果您使用Ambient light檢查[this](http://stackoverflow.com/questions/14717135/three-js-ambient-light-unexpected-effect)。 'cube.material.ambient = cube.material.color;'可能有幫助。 – uhura

回答

0

您可以使用此功能:

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

結果顯示在那些小提琴:

希望這有助於。

+0

我嘗試這個功能,但它沒有工作。有人說只有在「MeshBasicMaterial」時纔有用。我不知道這是否屬實。你有另一個功能來保存它嗎?謝謝您的回答。 – hely

+0

如果你想使用MeshLambertMaterial,你必須正確設置燈光(這種材料計算陰影效果)。編輯小提琴到工作MeshLambertMaterial是以下一個:http://jsfiddle.net/QtBlueWaffle/dmTZg/1/希望這可以幫助 – ThisIsSparta

+0

您的功能可用。我不設置燈光,我添加'renderer.clear(); renderer.render(場景,相機);「它有效。非常感謝。順便說一句,MeshBasicMaterial和MeshLambertMaterial有什麼區別。謝謝您的回答。 – hely