2015-05-04 50 views
0

我用Three.js使用Mesh Lambert材质时出现了一个问题,我有一个有不同高度点的平面,但是当试图使用光线时,高点是那些看起来较暗的点,它应该是反过来,我的代码如下所示:Lambert材质的灯光效果看起来很奇怪

var geometry = new THREE.PlaneBufferGeometry(7500, 7500, worldWidth - 1, worldDepth -1); 
geometry.computeFaceNormals(); 
geometry.applyMatrix(new THREE.Matrix4().makeRotationX(- Math.PI/2)); 

texture = THREE.ImageUtils.loadTexture('img/grass.png'); 
mesh = new THREE.Mesh(geometry, new THREE.MeshLambertMaterial({ map: texture })); 
scene.add(mesh); 

var pointLight = new THREE.PointLight(0xffffff, 100, 0); 
pointLight.position.set(5, 50, 5); 
scene.add(pointLight); 

而结果如下所示:

enter image description here

非常感谢你提前。

+0

你有没有试过改变你的光的位置? – 2pha

回答

0

在您的来电

THREE.PointLight(0xffffff, 100, 0); 

您指定强度为100时的正常范围为0.0 - 1.0让你的场景出来亮过。

+0

我试图降低强度,但场景变为完全黑暗 – erosespinola

+0

您确定光线不在表面的另一侧吗? – gaitat

+0

是解决了吗? – gaitat

相关问题