我正试图在整个场景中投射灯光以投射阴影。我有一个问题,因为他们不喜欢改变材料的颜色。阴影不会出现。 如何在将MeshLambertMaterial材质添加到场景后更改它的颜色,为什么不向我展示应该生成的光和阴影? 当我试图改变材料的颜色时,我全黑了。
这是我的代码:
material = new THREE.MeshLambertMaterial( { color: "#FFFFFF",name:$scope.datosMunicipio[i].nombre} );
objMesh = new THREE.Mesh( extrude_geometrY, material );
objMesh.receiveShadow = true;
var lightAmbient = new THREE.AmbientLight(0x000000);
scene.add(lightAmbient);
var luzDireccional = new THREE.DirectionalLight(0x000000,1);
luzDireccional.position.set(1,1,1).normalize();
scene.add(luzDireccional);
objMesh.material.color.set("#FF0000"); //Ineed change the color
答案 0 :(得分:0)
使用setHex
以十六进制表示法应用颜色:
objMesh.material.color.setHex( 0xFF0000 );
但是你可以set
THREE.Color
这样:
var redColor = new THREE.Color( 0xFF0000 );
objMesh.material.color.copy( redColor );
答案 1 :(得分:0)
我认为你应该改变光的颜色。除非我们在外部添加灯光,否则MeshLambertMaterial或MeshPhongMaterial对颜色无效。